I have it happen now and then to where it almost seems random. I find it funny when I do and always make an angry phone call on my sim. Usually it is by restaurants that I've newly dropped in the game (but really I don't revisit them often.. because there are more to go too).
I don't think they get more skilled unless you are sending sims there or running it.. I could be wrong there but that's how other skills work in the game.
I have some pictures of a sim enjoying a meal .. getting no negative moodlets from it but still getting food poisoning after. Actually something like salmonella could work this way. It could taste great but still have the bacteria on it from unsanitary contact.