Oracles is basically a necessity that compensates the lack of wards/trinkets, is great to use against all those invisible traps, and is an alternative consumable form of an item that was relatively cheap and existed as a permanent version of what it provides. If you're referring to champs like Twitch or Eve, well... think about it... they get revealed regardless with oracles or not if they're within range... but people still buy it for them. It's also a way to check bushes without having to be in the bush. Also, snowball reveals the person it hits for its duration. Shaco may be a little screwed if you're playing AD and using stealth to engage when they have oracles... but realistically... not everyone will have oracles up, and he's extremely mobile.
You may see the same handful of champs, but that's not entirely due to the system. That's due to players not owning every champion. I rarely get the same champion (though it does happen) in a handful of games. I own every champion, and see a wide variety of rolls. I'm also happy to play any of them (well, almost any). If dodging resulted in getting the same champion, then it really wouldn't be random, would it? People could then abuse the system just to play with a dream team.
Sona doesn't guarantee a win or a loss. She can be really good, or really bad. Not everyone will play her the same, and not everyone versing her will play against her the same.