There's been a lot of discussion on this point! I don't think anyone really knows how they are assigned and who gets what offer. Take a look at this recent discussion http://www.rewards-insiders.marriott.com/thread/17042 it may answer your questions.
MegaBonuses are in the spring and fall (Feb 1 - Apr 30 & Sep 15 - Jan 15). There is usually another bonus in the summer, but it is not always called a MegaBonus. That one normally runs Jun 1- Aug 31.
As far as which bonus is offered, no one seems to be able to solve that mystery. It is likely based on your elite level and travel patterns. Contributors to this site have shown that to be a questionable assumption.