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.
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!)