It depends on the application environment.
For the desktop, Windows XP (not Vista) is best. The sheer number of applications available for Windows alone makes it the logical choice. Were it not for that, Mac OS X would be a strong competitor, as it is very user-friendly. But there just aren't enough applications for the Mac, and it is a bit marginalized by its low market penetration, so it isn't the first choice. Additionally, being the slave of Apple for both hardware and software puts users in a very vulnerable position, one that I prefer not to share (I may have to buy Windows from Microsoft, but I can buy my hardware from anyone I wish).
For servers, typically some flavor of UNIX or its clones (Linux) or descendants (the various BSDs) tends to be best, depending on what applications you are hosting. If you don't have a lot of qualified staff and/or you want tight integration with Windows workstations, server versions of Windows might be a better choice. For standard server things like Web servers, e-mail servers, DNS and NTP, FTP, etc., I prefer FreeBSD, one of the BSD descendants of UNIX.
For mainframes, IBM's z/OS and its ancestors (e.g., MVS) are probably the best choice, although each proprietary mainframe OS has its good and bad points.
For PDAs, I prefer Palm OS, because it's simple, as a PDA OS should be.
Vista is a waste of time. Linux in all its bloated distributions is a waste of time on the desktop, and not ideal for servers, although it gets a lot of marketing hype (I'd rather put FreeBSD on a server).
There are some other operating systems that have unique attractions. The late, great Multics operating system (ancestor of all UNIX and UNIXoid systems) comes to mind, as do some PDP-11 operating systems. MS-DOS and CP/M also come to mind, but not in a good way.