Rick had it right. It is due to inconsistent water levels. If the tomato dries out the skin hardens and then if it gets a whole bunch of water, say a big rain storm, the tomato swells up faster than the skin can stretch and it cracks. So you never want your tomatoes to dry out. But the bigger the tomato, the more prone it is to cracking; Rick was also right about beefsteak tomatoes do it more.