The reason men like younger girls? One reason - Their bodies and the innocence thing. There honestly is no other reason. Older guys love girls with small bodies, and love the fact that they are more innocent then girls their own age.
A 16 year old can go out with an older guy if she wants to get used for sex. There is honestly no other thing she can offer to an older guy to be honest. Doesn't matter how cool, funny, intelligent, or awesome you are. The reason an older guy would go for a younger girl is sexual related, PERIOD.
In general, in most relationships the guy is at least a little older. This is a branch-off of our evolutionary wiring to be the dominant/aggressive one, and is a little too complicated for me to go into here.
Yes, a 16 year old can go with an older guy, but legally only within a certain age limit (depending on your state) before it becomes statutory rape. This is, of course, assuming that you are sexually active in the relationship. If you're not, then technically you can "date" pretty much any guy you want. Once you're 18, you can be with anyone you want legally without this restriction.
Men are a year or two behind the girls when it comes to acting mature. Girls their age may act a bit too mature for them so they will want to hang out with others that don't think what they are doing is not mature. When it comes to large age gaps such as 5 to 10 years difference, I have no clue.
When I was 16, I dated a 22 year old(why my mom allowed it is beyond me) and he was a virgin. I think it's because of the maturity level. If you date an older guy, make sure you don't give it up until you know you won't be used for sex. And don't fall for any tricks either.