Both words express the same basic idea, sqwei. Both "could" and "might" in that sentence tell us that it is possible that the cat ate the bird. You can distinguish the words by their different spellings and sounds, but I don't think that you can make a reasonable distinction in the meaning of those words.
In some contexts, the two sentences will have very similar meanings; in other contexts, the meanings may be quite different.
First, let's take sentence II: The cat might have eaten the bird.
This tells us something about the probability of the cat's having eaten the bird. The idea is "we don't know if the cat ate the bird - but it's possible".
Turning to sentence I, The cat could have eaten the bird, in some situations this would have the same "probability" meaning as sentence II. But in other contexts, it would refer to the cat's ability to eat the bird. So the idea would be: "It would have been easy for the cat to eat the bird". The implication here would be that the cat could easily have eaten the bird, but that the cat decided, for some reason, not to eat the bird.
(EDIT: sorry, I'm a very slow typist. I hadn't seen owlman's answer when I was writing this.)