There are several good, although redundant general descriptions of what cPanel is here, but not much info about what you can do with it. WHM software & cPanel most always come together now as all-in-one product.

In WHM, you can:

create individual accounts
create custom hosting packages
add domains to the server
manage features of hosting packages and accounts
reset passwords/contact email addresses for cPanel accounts
edit Resource Limits for cPanel accounts
modify DNS zone records for each domain/subdomain
set up private nameservers on the server
access resold accounts without entering login details
perform basic system and control panel maintenance

cPanel is designed for managing separate hosting accounts on the server. End users/clients are able to:

install CMS using Softaculous
upload and manage files for their websites
add/remove addon domains and subdomains
create email accounts and manage email settings and SPAM protection
edit DNS records for their domains
check website statistics
manage databases and backups, etc.

Hope this helps clarify description and features well enough.