I sincerely think I may be biased since I work directly with GeoServer and had chosen JAVA as my main programming language.
Indeed, I could not avoid answering those questions and clearing those doubts. So, this is the main reason for this post, where the objective is to show the virtues of both, not declaring which one is the best. That is your decision, the best one is the one that betters fits your needs.
In order to do this comparison, I emailed the GeoServer list explaining my issue and obtained some answers and links to a thread on the OSGeo list.
Based in the opinions of Chris Holmes, Bart van den Eijnden, Tim Bowden, Jody Garnett, Arnulf Christl and in my experience with the GeoServer and MapServer, I have arrived at the following conclusions:
1. MapServer is generally better when dealing with WMS, while GeoServer deals better with WFS.
2. A big difference is that GeoServer supports WFS-T, that it Transactional WFS, while MapServer don’t.
3. Mapserver works with CGI, GeoSever with J2EE. That may entail some advantage to GeoServer, since some companies don’t want to work with CGI.
4. MapServer is a more mature project (1996), while GeoServer is a bit more recent (2003).
5. GeoServer has a web tool administration, that eases configuration.
6. MapServer has without any doubt a very powerfull cartography system, providing data under dynamic vectors with high quality
7. None of them is better or worse. The development objectives are different.
I hope to clear some doubts. If someone has something to add, your are welcome to use the comments section.