看 is an activity with duration, while 看见 and 看到 are achievements, which express change of state and don't have duration.
There is no difference between 看见 and 看到.
Since you didn't “try to look at the bird before you see it”, 看 is weird here. If you knew the bird was there before you saw it, you could say something like “看了，但是没看见”
到 itself is an achievement, which means to get, to reach, to achieve. You don't say something like “我正在到...”(although you can say something like “I'm getting/reaching/achieving...”).
It's also a particle of complement, which turns an activity into an achievement. It usually means “get the result”
见 was originally a verb of achievement in classical Chinese. But in modern Chinese, we tend to express achievements with “verb+particle”, thus, 见 becomes 看见, 闻 becomes 听见, 想 becomes 想到, 遇 becomes 遇到…
见 is usually attached to verbs which mean “to see” or “to hear” or “to meet”.
看见, 听见, 梦见, 撞见, 遇见…(想见 and 闻见 are less common). I can't recall any more examples
看到=见到, 听到, 梦到, 撞到, 遇到, 想到 and 闻到 can express exactly the same thing.
着 can be used instead of 到 here, but usually sound old-fashioned. I don't use them at all.