First off, I'm pretty sure there is some sort of team/committee for each Microsoft product that decides on what the defaults should be. I'm also sure that decisions reached by that committee aren't going to suit everyone, even those on the committee.
I think that for a product like SQL Server that is meant to be administered by a professional, there should be very few, if any, defaults. Instead of setting defaults and forcing the administrator to navigate through various menus to set up the server "properly" (i.e. the way he wants it) the install should present the ability to set all of the options right up front. Anything that isn't a gimme (e.g. ANSI_NULLS) should be required to be set.
Obviously, that doesn't work for desktop software. Desktop software should be defaulted to be usable right off the bat without any tweaking until you find something you really want to change.
As for the multiple ways to do things. Generally, it's good. But, I have seen a lot of people (and have myself been guilty of) get caught up in trying to pick the best option when any of several good enough options would have been fine.