I heard EJB is hard to learn. And there are other frameworks and libraries get more popular in the communities, for example Spring. And Java seems not the only platform to build enterprise applications. What are the cons of EJB? Are there lots of good paid EJB jobs on the market?
IMHO yes. Even if EJBs had always been objects of love or hate, they're still the standard Java EE distribuited component. As Jaikiran suggested, EJB 3.x are a lot easier than previous version, and quite more powerful.
The question of whether there are 'good paid' jobs on the market or not is a very relative question because it depends so much on what you would consider good pay. I can't say that I see a lot of requests for EJB skills myself, but I also am not looking for jobs that require EJB. Most of the jobs I see anymore list a wide range of skills and precede that list with the statement "experience in one or more of the following". At least 10 years ago when I was interviewing candidates for a job, I looked as much for attitude/aptitude as I did a specific skill set. While I did want to see experience and would certainly grill people if they indicated they had experience relative to the position, it was much more important to find someone who would fit into the team and could learn and evolve as most of us realize the IT world is not "static".
I have had some opportunity to specifically use my EJB knowledge, but I've also had plenty more opportunity to more generally use my java knowledge.
I'll turn your question back on to you and ask what types of jobs do you want (industry, location, hours, pay scale, etc) and are you seeing any EJB specific positions within that search criteria?