One user on Yahoo Answers says:
It's a very complex formula and is done by marketing experts. It's based on the calendar (holidays, weekends, time of year), type of movie, gravitas of the movie, test audience research, market research, and competition.
You always have blockbusters out Memorial Day, 4th of July, and Labor Day weekends. Three day weekends garner bigger audiences. Ever since Jaws invented the summer blockbuster, horror/action/sci-fi movies for 4th of July have been a staple.
For obvious reasons, family movies come out between Thanksgiving and Christmas. Christmas Day have a sizable audience and a quality drama usually premiers then.
As far as gravitas, most movies that have a chance at an Oscar come out in Sept-Dec. The vast majority of winners come out in Sept-Oct. The theory is that the voters have a short attention span and the studios save them for the end of the year. To get a nomination, the movie has to be shown in NY or L.A. before the end of the year. Therefore, quality low budget, independent / art house movies might show only in NY or LA late in Dec. and then go wide in Jan-Feb, especially if they get a Golden Globe or other award nomination. You also get a bump from any nominations so you want to still be in a release or secondary release cycle come the award season at the beinning of the year.
Finally if you know that your movie sucks, you'll market it wide in weeks when there is little competition and hope the word doesn't get out. You need to make a profit the first weekend. These movies tend to come out early in the year so they can make the DVD market for the Christmas shopping season.
Another factor is that there might be product tie-ins with fast food companies, toy compaines, and other merchandising companies. These schedules have to be determined because they involve other corporation's marketing plan and schedules.