Yes there are a lot of people who use all their data, but I think why Vodacom features more than the other operators is because they are the only ones who use data on a LIFO (Last In First Out) basis.
Here's an example:
I get 500MB per month. On the 23rd of the month, I'm running out so I buy a 250MB top up. On the last day of the month, I have 180MB left. I then get my 500MB on the 1st giving me a total of 680MB, but Vodacom uses the new monthly data first, not the carried over data so on the 22nd, I have 200MB left (20MB from monthly and 180MB from carry over). On the 23rd, the 180MB carry over expires so I drop to 20MB.
Even worse is when you actually start going into the carry over and then it expires and you immediately drop to 0 - that's where a lot of complaints about out of bundle rates comes from. On the 22nd, you have 150MB left which all expires on the 23rd so you go to 0.
I've always had an issue with this approach. I am seriously considering switching to MTN when my contract expires.
If they used FIFO (First In First Out) like MTN and the other operators, the example would change slightly:
500MB at start of month, 250MB top up on the 23rd, on the 1st, additional 500MB added for a total of 680MB.
But MTN will use data from the 250MB top up before the monthly data so on the 23rd, there is no top up amount left to expire so data remains at 200MB. This has a rolling effect of making top ups last longer and you don't get out of bundle shocks because the data doesn't just disappear.