Name servers host your DNS zone file
Domains point to name servers that simply hosts the zone file which holds all your DNS entries, due to simplicity, web hosts recommend that users point their domain to their own hosting because then the user does not need to add manually DNS entries, since cPanel, WHM or Plesk will automatically edit the zone file with the necessary records.
A real world example of this would be that you add a sub domain to cPanel called 'CDN' e.g
cdn.example.com, cPanel automatically edits the zone file and adds A record of the IP address that the sub domain points to.
Perks and Benefits of each
The benefits of using the name servers provided by your web host is that you never need to manually edit the zone file for most tasks but the benefits of using an external name servers is often they come with better reliability and more features, such as those provided by DynDNS, Rackspace DNS, Cloudflare etc.
How to use A records
If you want to use a different name server and dns provided by your registrar or another company, then simply login to cPanel and check the IP listed in the server information panel or page, like so:
Take note of the IP address and then simply login to your DNS management of the domain and add the A record and cname, like so:
Using the above example would make the website work without having to use the name servers provided by your host, giving you more options, faster TTL's and generally easier administration once you understand the basics.