Grilling on a charcoal grill always taste best to me, but a gas grill works in a pinch. Getting the meat ready is the most important part.
Certain types of meat are meant to be cooked and removed from the heat before it has a chance to dry out. Things like sausage, pork chops and chicken breast for example, are usually quick cooked over direct heat. To lock in the moisture, rub with oil and seasonings. Also, go easy with the spatula. The more pressure placed on the meat, the more the natural juice lost.
For indirect cooking, a good marinade is the best choice for locking in moisture as well as flavor. The best cuts of beef need only soak for 20 minutes to an hour. For less choice cuts of meat, increase the soak time to tenderize. Always marinate in the refrigerator—never at room temperature, but DO let the meat sit at room temperature for 15 minutes or so before putting it on the grill. Chicken needs to marinate for at least 20 minutes but not more than an hour if the marinade is vinegar based. Grill each side for only 6 or 7 minutes. One of my favorite rubs is Mediterranean Dry Rub.
For meat that is to be cooked for a long period of time with the lid down, a simple pan of water set inside the grill away from the meat will help replace some of the juice lost during cooking. Flavored chips (Mesquite for example) added to the water to will enhance the taste. An open can of beer set over the hottest part of the fire will boil and saturate the air with vapor and flavor. Many cooks use a spritz bottle filled with a liquid to spray the meat several times throughout the cooking process. Sauces should be added during the last 20 or 30 minutes of grilling.
Only line charcoals on the bottom of one side of the grill. Then, place some hickory or mesquite wood chips on top of the hot coals for extra flavoring. Place your meat on the side of the grill away from the coals (indirect heat), and keep the lid closed as much as possible.
Use 1/2 an onion to clean your grill before grilling. Will give the meat the extra flavor.