Superman isn't usually popular among teenagers and young adults, but it's not really his fault. Children and adults tend to like Superman a lot more. Children because Superman is "Mr. Happy Ending." The guy who is good enough and powerful enough to guarantee the boogeymen won't win. Adults like him because of that the stories where he doesn't win, at least not right away. His failures just make his victories that much more meaningful, which to an adult reminds them to keep hoping for a brighter tomorrow.
Teenagers and young adults are usually far more cynical and jaded, and thus find the notion of such a powerful person being righteous and good to be unacceptable. They like to be reminded of the cruelty of the world, and while most of them still want to see the good guys win, they want to see him suffer for it. Batman appeals to this notion in many cases.
It's not all-inclusive, of course. I love Superman, and count him as my second favorite superhero of all time (behind the Flash) and I'm only 22. Children can love Batman, blah blah. I'm just speaking to trends that I've noticed. If you think I'm completely wrong, well, fuck it. I tried.
I also want to point out that most people, regardless of age, don't HATE Superman. He's the epitome of good, to hate him would certainly make you seem... not-so-good. People find him boring or uninteresting, but you'd be hard pressed to find many people who outright HATE Superman, especially if they like other superheroes. Superman is the ORIGINAL superhero (at least in the way we know them). All other heroes have a at least a little Superman in them.