This is an issue for many people on Vodacom, in fact there's A polite request to reconsider your data rollover policy thread and Vodacom are looking into this.
Basically, Vodacom's current rule is to use your newest bundle first, so if you have unused data from last month you only get to use it once your current bundle is depleted. This means you can only carry over data every second month.
What are Cell-C's rules?
My father has a 12 x 2GB promo package and early in January he blew his 2GB after discovering YouTube.
I bought a 3GB/365 bundle for him, in the hope that whatever he didn't use in January would be available for future months should he finish his monthly 2GB allocation early.
I checked his balance a couple of days ago, and this seems to be the case. *101# shows two remaining bundle balances, and it seems that the 2GB bundle is the one currently being depleted.