Take a look at:
www.retroblast.com and
www.oscarcontrols.com for some good reviews and comparisons of various arcade related products. That will answer most of your questions right there.
While you're at Oscar's website check out his spinners. He and
www.slikstik.com make the best spinners.
www.happcontrols.com is one stop shopping for all your joystick, trackball and button needs, but
http://www.therealbobroberts.com carries most of the stuff at significantly lower prices. Bob carries authentic Happ product so don't worry about quality.
For Joystick/trackball/spinner interfaces check out
www.ultimarc.com. Andy's got everything you need. Keep in mind that you don't need a separate interface for a slikstik spinner as it comes USB ready, and Oscar also has his own methods of interfacing his spinners if you don't want to spend the money for an Optipac from Andy at Ultimarc. A somewhat less expensive alternative to Andy's keyboard encoders is Randy's Keywiz. It can be found at
http://www.groovygamegear.com . Both Andy and Randy have a selection of other arcade parts available as well, joysticks, buttons, trackballs and what have you, and it is safe to expect them to be good quality stuff.
Act-Labs seems to make the most accurate and versatile light guns currently on the market, but they look like ray guns and feel a bit light and flimsy. Most people would agree, though, that despite their shortcomings they don't have any serious competition at this point.
If you're looking for a 270 wheel (it only spins so far in each direction) which would be for any current PC racing game on the market and classics like outrun, spyhunter, cruisin series, etc. my personal favorite is the Logitech MOMO force feedback wheel. It's the one with the red base and a MOMO designed, real leather-wrapped steering wheel (it does not have a built in gear shifter -- that's another, inferior wheel in their product line). Act Labs also makes some really nice 270 degree racing stuff (including a pedal set with a clutch and and an awesome stick shift that can be integrated into any 270 wheel/pedal setup, regardless of manufacturer). There are also 360 wheels (spins and spins indefinitely in either direction) for games like Pole Position, Off Road and Super Sprint. All games that use 360 wheels are classics, you'll probably never see another game ever made that uses one. Some of these 360 wheel games play pretty acceptably with a spinner. If you want to go the 360 wheel route your best bet is to just get a wheel from an old arcade game and and interface it with an Optipac from Ultimarc. If it doesn't come with a working optical encoder wheel and board you'll have to get that too or do a mouse hack or something. It's a little work, but the parts are by no means difficult to obtain and anyone can do it with a little research and elbow grease.
Buttons? Happ Horrizontal, concave pushbuttons are the way to go. A very small minority of people prefer leaf switch buttons, especially for authenticiy if they are doing a restoration project as most of the old classics used buttons with leaf switches. For multi-game mame cabinets, though, just go with microswitch buttons. They are extremely easy to come by, and almost never need maintainance -- neither of which can be said of leaf switch buttons. An even smaller minority of people prefer the Happ Competition style (still microswitch) buttons that are convex rather than concave. Don't even bother. If you grew up playing arcade games, chances are your senses will be offended by this type of button.
Lastly,
www.gamecab.com just made a new Starwars Yoke replica, but I think they are in short supply at the moment. They're pretty pricy, but there are no comprimises. You can also try to find an original, but good luck. Finding one on Ebay is practically an impossibility, and all the alternatives, like Twisty-grips, or flight yokes made for games like MS Flight Simulator are not really acceptable. Just do without until you can afford one of Charlies replicas at
www.gamecab.com .
Phew....that was long.
Good luck on your project!
Edit: fixed Bob Roberts URL