Most recipes call for onions when marinading steak, but...why?
Onions contain proteolytic enzymes, just like honey and certian fruits, which makes them ideal to help tenderize meat. They are a very common type of vegetable that's low in calories, and have a place in nearly every cuisine around the world.
One prime example is a dish from Japan known as Chaliapin Steak, which is a dish where you score the meat (make grid lines), pound the beef, and cover both sides of the steak in chopped onions. Just letting the steak sit in the onions makes it so tender you can cut it with a fork or chopsticks.
In this study they compare using onion with meat over a roughly 30-day period in refrigeration. At the 30-day mark they have a sensory panel compare the 30-day vs non-onioned 4-day meat. The sensory panel concluded there was no significant difference, but a small fraction preferred the onion meat (30-day). This can suggest onions also have enzymes that inhibit lipids to improve longevity.
Peeling, cutting, or crushing an onion's tissue releases enzymes called allinases, which convert amino acid sulfoxides into sulfenic acids. The sulfenic acids, in turn, form a mixture of products that includes syn-propanethial-S-oxide (the chemical that triggers tears). This mixture contains the precursors for a variety of compounds that form the flavor of onions. They also form the odorous thiosulfinates (the pungent odor associated with chopping onions).
Since onions contain acids, and acids break down the muscle fibers in meat, onions can be used to tenderize meat.
You can also use fresh pineapple juice (canned won't work), lemon juice, lime juice, orange juice, vinegar, or yogurt to tenderize your meat. Some of my friends use tea, coffee, or Coke.
As long as it is acidic it will work.
Please remember, everyone's taste is different, so how long you should marinate the meat takes some experimenting. Start with 20 minutes and work up from there.
Actually, yes the onions are there to add flavor, but they also contain enzymes that break down the meat fibers making it more tender, this can also be done with pineapple and other fruits like kiwi. But the fruits add a fruity flavor which doesn't taste good to most when eating a steak.
Onions however, add a much more savory flavor. @Chris - Marinading a good steak doesn't ruin it, all it does is add flavors that weren't there before. Now granted one can buy some A3-A5 beef and have an extremely tender steak, but you are paying a lot of money for that meat. Marinading is a flavorful way to make very tender steaks at half the cost (OR LESS!)