I think for small, quasi-static, single platform bussinesses - MS is fine. I think that if you start getting big and are in an everchanging bussiness (i.e. into aggressive aquisition), the MS system starts to throw up walls. By its very nature, it is supposed to be easy to manage (so I am told and believe). Making things easy to manage means reduced scalability and flexability. When you outgrow the system, "easy to manage" becomes "difficult to manage".
I have a yes/no relationship regarding small, quasi-static, single platform businesses. The thing is, Microsoft is okay if they don't have an IT staff, but in some cases were a small business does have one, they can afford not to stick with a Microsoft platform. The one thing I noticed about Microsoft platforms is that once you use it, you're locked in.
If you think about the differences between .NET and J2EE I think you can see what I am saying. Besides the fact that you can't swing a cat without finding a good Java person.
To a CIO, it looks like WEBsphere is easier to manage. I bet in reality it takes better and more personel to manage it. But, the higher flexability and scalability means it works better and new implimentation is smoother.
I think the fundamental difference between .NET and J2EE is that J2EE has had plenty of time to mature, whereas .NET is just starting out. I don't think it's platforms at all, J2EE runs fine on Windows. What makes me think about the power of J2EE is that Stapes was aiming to merge 3 departments into a single entity using a single piece of software. That is interesting. The fact that the CIO chose J2EE must have something to do with its features since .NET is a fairly robust platform.
Also, there are a lot of Java programmers out there, so I'm thinking that hiring new people won't be as difficult.