I was also confused at start because I wanted one panel just for my own use, that means, without giving external access (hosting) to users.
But I was also interesting in other servers for giving end service to customers.
This is very the product really excels. You can use one, or two or three together without anyone getting in the way of the other.
This is how I see it.
Webmin is mainly for the server administrator/ or administrators. Imagine someone in a company responsible for servers. You can give access to people, but this would be usually other people in your company, other techs or IT people because even when you can restrict the levels of access, Webmin is really a interface to manage software already running on a server. Of course you can also host a website, or websites, with it, but its mainly done manually and you need to adjust settings yourself like you want it. This means you can basically achieve anything with Webmin just like you can also do it directly on a command line.
Now Virtualmin builds on top of webmin. It requires webmin and it will install webmin. The main difference now is that Virtualmin is more like a hosting control panel. Like cPanel or Plesk. Where each customer will have end access to the server in terms of services. If you need to give a control panel access to customers, to manage some services, then you need Virtualmin. Virtualmin makes this job also automated. When you create a domain, it creates all the configurations in the server, like Virtual Hosts entry in Apache, DNS settings, etc. In webmin this requires several manual steps, because usually a Webmin user would not require all this automated features.
Cloudmin builds also on top of this and if for allowing to provision Virtual Servers. I did not tested Cloudmin yet to much but basically think it as this:
Webmin (Web Interface for Linux servers) for administrators and internal company users or server owners.
Virtualmin (For hosting or service providers) that provide end service for customers. As well for anyone looking to easily hosts multiple websites, email accounts, databases, etc.
Usermin is more the webmail interface for end users.
Now since you mentioned cPanel VPS pricing I suppose you want to offer something like cPanel for your end customers on each VPS correct?
This would be Virtualmin. Now you would use Cloudmin to provision the servers, and Virtualmin would be like cPanel. Webmin is like WHM. You see, cPanel does not work with WHM and Virtualmin does not work without Webmin either.
The difference here is that this software is more flexible in terms that maybe some of your customers in the VPS just want Webmin because they just host their own website or two, or just websites they manage. In this case you need to provide them with Webmin as there is not need for Virtualmin. In case they want to use their VPS for hosting, reseller hosting, or provide services for allot of domains (which are not their owns) and their users will request management access, then you need to put Virtualmin on this VPS.
I hope this is more clear. Its very easy if you think about it.