Most marinades are comprised of three parts: oil, spices and acid. The oil adds juiciness to the meat and the spices add flavor, but neither of those would have any affect on the meat without acid, the marinade superstar.
Acids like lemon juice, lime juice and vinegar break down raw meat, allowing the marinade's oil and spices to deeply penetrate and infuse the meat with flavor and moisture. They dig out little pathways in the meat and allow the marinade to seep in. The scientific term for this breakdown is "denaturation," which is the process in which protein loses its structure by application of a strong acid, base, salt, alcohol or heat. Basically, the scientific process that cooks meat with heat in the oven is the same one that cooks it with acid. The results may taste a little different -- fish cooked in the oven is flaky, whereas fish cooked by lemon juice (a.k.a. ceviche) has a more raw-tasting consistency -- but the process is the same.
So the million-dollar question is, "How long do I marinate?" Of course, the answer depends on what type of meat you're using. Denaturation can "cook" meat to toughness if it's left to marinate certain types of meat too long.
The densest types of meat are steak and pork, which can withstand the longest marinating times. In general, two hours is long enough for steak or pork to pick up enough flavor from a marinade, but it can marinate for up to two days without turning tough when it's cooked over heat. To speed up the process, try cutting steak and pork into small chunks or thin slices before bathing in the marinade.
Chicken is a little less dense than steak, and can be marinated for several hours before cooking it over heat. Though the USDA says it's safe to marinate chicken for up to two days, that amount of time would likely make the chicken too tough for most people's taste.
Fish and seafood are most easily influenced by marinades because of their light density. These foods typically shouldn't marinate for more than 30 to 60 minutes. Ceviche, a Peruvian favorite, is a dish of raw fish that's "cooked" in acid and served without any cooking over heat.
In general, your best bet is to follow a recipe's instructions -- and always marinate in the refrigerator, not at room temperature!