Yes, you will need to have a domain reselling account if you wish to resell domains.
But it depends on which market you are selling to.
We host more than 15,000 websites, but we only provide around 1,500 of the domains, the others people have got their domains from their own alternative providers.
I cannot say for certain, what percentage of the 1,500 customers would not host with us if we didn't provide domains.
However, if you want to function like a full host, then you will need one.
We use a combination of NetEarthOne (our favourite), HexoNet (they sell everything, including the kitchen sink), and we also have a few domains with eNom, but we mainly use them for SSL Certificates.
There are many others, like ResellerClub, NameCheap etc.
Usually reselling them does not cost anything, but you will have to deposit some money with them, from which your customers purchases are taken.
You will need to make sure that this money stays topped up.
Again you will need some some Host Billing software like WHMCS, HostBill, ClientExec etc, to allow your customer to sell these products, including packages from your reseller account.