As for hardware, you can go as cheap or as expensive as you want... I use (at home) the basic Logitech joystick (no force-feedback) and it works perfectly with both FSX and X-Plane. Here it is:
http://www.newegg.com/Product/Product.aspx?Item=N82E16826102204
If you want to go a bit more intense (well, more than a bit) go for the CH Products equipment:
http://chproducts.com/retail/index.html A little expensive, but they will definitely give you the best flight experience using either program (I use these controllers at work).
As for software... I have quite a bit of experience in both the more recent FS products (2004/X) and the latest X-Plane releases. There are MANY differences between the two, including visual models of aircraft and environment, down to the method that is used to calculate the actual flight dynamics.
Briefly, here's the difference. It really won't affect how you play the "games" but this is why there's such a disparity in opinions you hear about the two. Since the birth of MSFS, Microsoft has used what's called the "table lookup method" for calculating flight dynamics. All properties (lift/drag/moment coefficients, engine power, speeds, engine specs) are listed in tables as a function of speed/mach, altitude, etc. These "supertables" use interpolation (and sometimes extrapolation) to calculate the total force on the aircraft at a certain position. Since mass is know, and F=ma, acceleration (and velocity and position via integration) is also know. The problem with this method is that you need to have these HUGE tables for all aircraft properties, and some interpolations/extrapolations are simply incorrect.
Now X-Plane uses what's called blade-element theory. This was developed for the analysis of rotorcraft, but is easily applied to fixed-wing aircraft. The bases of the flight model in X-Plane is NOT huge tables of data; it is, in fact, a very accurate visual model of the aircraft (dimensions, wing shape, engine position/size, etc). The X-Plane engine then breaks this visual model up into very very small "slices" and finds the force on these individual slices. The slices are then summed up and the total force (and then position via integration) is found on the aircraft. This results in a much more accurate calculation of flight dynamics; this is why the FAA certified X-Plane's engine to obtain simulator hours.
Now the bottom line (well, as I see it): at work I need to use something that is reliable and is very accurate, without much regard to the visual model, environment, and "funness" of using the simulator. This is why I use X-Plane. It does what I need it to do for work, and it does it great.
In my "spare" time when I go flying on the computer I will ALWAYS use FS2004 or FSX (depending on my mood). The Microsoft products undoubtedly will give you a better "flying experience." Yeah, the model might be off, but for those of us who are not pilots or aerospace engineers, it's not such a big deal. The scenery and environment is SO much better than X-Plane's, and it's pretty obvious too. The ATC (although it still stinks in MSFS) is much better than X-Plane's. MSFS will simply give a better "flying experience," not to mention the great add-ons (for the very best, see
www.precisionmanuals.com).
Anyway, sorry for the rant, but I've seen this topic before and I had to stick my 2 cents in...