Choose a community, learn a language, then pick the framework.
Every framework or CMS is built in a language. And has a community of developers around it. Both that community and the language dictate a lot about the framework you will use. How it is used, what types of sites you build with it and so forth.
Take Ruby on Rails. Built on Ruby. With a community that seems to love cutting edge stuff. And has a fetish for testing. If you are allergic to testing, you will probably not feel at home with Ruby. Sure: one can perfectly build sites in RoR without touching a single test. But the strong dependency on tests by all the other people you will bump into, work with, or get help from, will annoy you, if you are truly allergic to tests.
If you want stable, "oldfashioned" work being done, then a lot of communities will also turn you off. Some CMSes or frameworks are build by communities who just love putting new stuff in all the time. If, for example, you find noSQL an empty buzzword, hate git, dislike ORMs or want to have nothing to do with REST, HTML5 or CSS3 then pick your community by that.
Once you find a community that you fit into, choosing the framework is not hard at all. If you hate ugly, unarchitectured code, Drupal (PHP) is probably not a good place to start working, instead better look for some Python, c#, java/scala or Ruby framework. If you don't care about code, or its architecture, Drupal may be a good choice.