The reason come also from the fact than cPanel have at least 75% of the market. Most of users have always use it, and it seems easier to use for this reason.
But I haven't use cPanel at the beginning, and when I have tried it after some other control panel, I haven't seen the "ease of use" as the first feature..
The only fact to have two address with 2 control panels to manage the same server is really not user friendly.
To provide web hosting, it's okay, as you will be the only one to use WHM, but to manage your own websites, it's really not the one I will recommend.
Why should I create another user than the admin to have an hosting package ?
And for the price there are several reasons to choose another solution than cPanel, because an user should not have to pay $20 for few websites.
For a VPS, Plesk have 3 package from $5 to $15, and from $15 to $35 for a dedicated server. It's the same price for hosting providers, but for somebody who just need to host his 15-20 websites on a dedicated server, it make a real difference. Especially if you want to start with a clean install, and not a template outdated available from your server control panel.
But like I said at first, when you use a solution for a long time, it's pretty hard to move to another.