I think the real answer is that human beings are reviewing the apps. (Machines now at least check for apps making private API calls and stuff like that, but that wasn't the case in the beginning of the App Store.) There are a lot of different reasons for rejecting apps, and there are a lot of apps being submitted every week, so it makes sense for violations to occasionally slip through the cracks.