(noformat) הרבה acts like an adverb. רב is an adjective and should agree with the noun. It's not used very frequently, we usually say אני קונה הרבה עוגות.
Is there much difference between הרבה and רב.? I notice both can be translated as many.
I thought that רבות meant "great" or "big", as in, "I buy big cakes." Is that not the case? How would you say "I buy big cakes"?