Java と違い .NET では名前空間とディレクトリの階層は一致していなくていいのですが、 using (Java でいう import) をする手間が省けるからという理由で、名前空間をディレクトリの階層が違っていても同じにしちゃってる人がいます。
エラー時にログにクラスが書いてあっても、そのクラスどこにあるかすぐに分かりません。ソースを作った人しかすぐに場所見つけられません。 grep 面倒です。まだ同一パッケージに 100 個ソースファイルがあったほうが名前順でソートされているので見つけやすいです。*1
VS2005 からディレクトリに対してソースを追加すると、自動でプロジェクトの名前空間 + ルートからそのディレクトリまでの名前空間がつけられます。わざわざ追加された名前空間をいちいち削除しているみたいだから余計面倒じゃないのかなあ。
*1 金融系のコードや ID による名前は(ry