Gas grills use a nice clean fuel that doesn't really produce smoke. Manufacturers will tell you that their patented vaporization barriers produce smoke from dripping grease, but do you really want the flavor of burning grease in your food? To be honest it doesn't do a lot for the flavor of the things you grill. The kind of smoke that improves the flavor of food is the kind you get from smoke.
You can add smoker chips in a box to produce smoke but to pass that flavor to the food you need to bath it in smoke. Since charcoal produces some smoke and heat the too are mixed together. As the food absorbs the heat it also takes in the flavor of the smoke. So if you really like the flavor of foods, particularly things like a good steak, cooked over an open flame then you want to use charcoal.
However you also need to make sure that the smoke you are getting from the charcoal is good smoke. Commercial charcoals with special additives for easy lighting and cheap charcoal made from a little sawdust and a lot of glue doesn't exactly have the best flavor producing smoke. You want to use a good charcoal or mix your charcoal with chunks of good hardwood or you can buy lump charcoal that is actually make from really pieces of wood and not just sawdust. You should also always keep a good clean grill. Build-ups of ashes, burned up grease and other stuff will make the smoke produced leave a strange flavor on foods. So in this light if you are going to use cheap self-lighting charcoal in a dirty, rusted grill then I'd suggest going with gas. If however you are serious about the flavor of grilled foods and are willing to put the effort into the process then a good charcoal grill might just be what you need.