I would like to hear your thoughts on which would be better for beginners and easier to use and maintain in the long run. I'm going to build a website in MODx but I haven't started so I thought I would ask about this first.
Personally, I think that neither is easier.
If you're going to be running a server just for you to test on while you develop the site, I would suggest EasyPHP (the latest version isn't working so well for me, I suggest using 5.3.2i (you can also see other older versions)). The reason is because EasyPHP is, like the name implies, easy to use and setup. It doesn't come with anything other than apache, php, mysql and phpmyadmin, and you can configure it to your heart's content (granted, you can configure Wampserver and XAMPP to your heart's content in the exact same ways, they're not as simple as EasyPHP).
My reason for not using Wampserver is because it (on the two machines I used it on) freezes frequently, and slows down your system a whole bundle.
My reason against XAMPP is similar, except that XAMPP has a reason for slowing your computer down where Wampserver doesn't, it's got way too many features for a simple testing server on your development machine. You don't need to have an ftp server or mail server setup for a simple development machine.
If you're going to be using the computer as a web server to the general public, I wouldn't use any precompiled packages, but install each thing you need separately, from their respective sources, because it will generally lead to a better setup and smoother running machine.
I assume this is for a small business in their office. I would never use these on the open Internet. I have many Xampp installs on windows XP and Win2000 boxes. They sit in the server room and never need attention other than backups.
Xampplite (my favorite) is very easy to install. It contains the basics, mysql, PHP and utilities.
I would say that there are not enough differences between the windows and linux installs to make you pick one over the other. If you have more experience with windows i'd set it up on windows, similarly if you have more experience with linux i would set it up on linux. Apache was developed for linux so it stands to reason that it works better on linux, but again if you're just starting out it shouldn't make enough of a difference. You can always switch later when your website is up and running and having a few visitors, it should be possible to switch over without a downtime of more than a few minutes.
This goes for standard Apache installs as well as wampserver, although i have never worked with the latter.
I didn't have any problems setting up apache/mysql/php on ubuntu server, literally just having it installed and it worked. and there are lots of resources and forums available to help you.