It used to be that, if you wanted to develop an N-Tier app in .NET you built your UI with Winforms or WebForms, your BLL with standard C#/VB.NET/{.NET Language}, your DAL with ADO.NET and maybe throw in some remoting.
Now you've got, WPF, ASP.NET, ASP.NET MVC, Silverlight, WCF, WCF Data Services, WCF RIA Services, WF, EF, P&P App Blocks and more.
That's just some of your options if you want to build an N-Tier Application using .NET, and - maybe I'm just not that smart but - few of these are easy to learn well. And these are only products from Microsoft. Nevermind the other myriad tools & technologies (other ORMs, UI frameworks like PRISM, AOP frameworks etc. etc. ad nauseum).
Is it freedom of choice, is it information overload, or is it normal and I'm just slow/dumb?