I use X-Plane all the time, and personally prefer it over FS2002 (I haven't tried 2004 yet). X-Plane actually breaks down the surfaces of the airframe and does the various force calculations on each of them. MSFS on the other hand, uses lookup tables to determine how the airplane should respond to different situations.
So X-Plane ends up giving you a good flight model for whatever you're flying (which also makes it a good test bed for people designing their own planes in real life), whereas MSFS' flight model is only as good as the lookup table of that particular airplane. Some are very good though, so it's not necessarily fair to say that X-Plane's flight model is simply superior to MSFS'. In most cases it is, but if you take the time to get a highly realistic plane in MSFS, you can get one.
If you're into scenery, MSFS is a better sim - there are simply more people using it, and therefore more custom scenery is out there. Although I just got the Socal scenery pack for X-Plane, and it's awesome. Satellite imagry mapped over the terrain - I can fly over my old house, school, and so on! It's pretty cool.
I use X-Plane primarily for instrument stuff, and it's fine. Personally, since I'm just flying with a joystick and I'm missing a lot of the tactile feedback of a real plane anyway, the flight model becomes less relevant. All I know is that power settings in the sim result in airspeeds and performance that match what I really fly, and that's good enough for me. But plenty of people are happy with MSFS in that regard as well. Both sims have complete global databases for airports, approaches, and so on.
Bottom line - you won't go wrong with either. I kinda like X-Plane because it's the "Linux" of flight sims - there's a die hard group of fans that are determined to produce the highest quality planes (within 1% performance-wise in all flight regimes). The drawback of X-Plane is that, like Linux, it's not as polished, and sometimes you have to deal with bugs here and there (buy the lastest version of 6.x - wait until 7.x matures a bit). But the author, Austin Meyer, is receptive to feature requests, and does his best to fix and bugs that are reported. Download it and give it a try!