I want to bring up this question (again?). This may not be a burning question as it used to be.
I have used ArcGIS for several years. It is the well-acknowledged leader in the GIS market, constantly pushing new technologies and architecture change, releasing new APIs for easier development, moving into 3D, build rich symbology, active and wide user community. It has its peculiarity, but does provides the most comprehensive products to build your solution.
I know very little about MapInfo. However, What I recently have learned about MapInfo suggests MapInfo is not as bad as I imagine. It has a suite like ArcGIS. MapInfo Pro is probably equivalent to ArcMap. Geocoding provides USPS-certified addresses. Routing J Server provides routing. MapXtreme 2008 using the Pictometry Navigator TM API delivers bird's eye view. But I feel the architect is old: not SaaS, still on SOAP, mainly server-based, making the front-end rather static. The company is not doing well and the SW dev is hurt. No upgrade on MapXtreme since 4 years ago?!
To me GeoServer seems a simply a mapping server or platform. Besides mapping, you will have to write most things yourself. It's good for some non-GIS folks to add some maps to their sites. Even mapping, the symbology is limited and editing SLD is such a pain. Cheap or free is good, but you end up paying for writing the code if you want to do something sophisticated. A little disappointing, to be honest.
Anyone interested in adding/commenting/arguing?