Olaf
Early game: jungle ganker
Late game: anti-carry melee-tanky-dps
He's very fun when he does well, but he's hard to do well with consistently. Your main role is to run to and destroy the enemy carry within the frame of your ultimate, without being first destroyed yourself. This takes some degree of timing, positioning, and other knowledge that I don't know how to describe.
Lots of people play him wrong and take dumb risks. They view him as a right click to win champ because of his passive. Sometimes they get lucky and get fed, sometimes they don't and they become feeders. It's true Olaf can 1v1 most situations and win, but LoL isn't a 1v1 game, and that mentality has brought caused a lot of ragequits in games I've seen.
Olaf needs runes.
...
Udyr
Early game: jungle ganker
Late game: secondary tank and disruptor
Udyr is fun. He also has a certain degree of running headfirst into fights and messing with the enemy carry. He doesn't have innate anti-CC, but he has a lot of CC with bear stance. One way to play him is to just keep stunning the enemies round-robin, one second each adds up pretty quickly. His damage output is pretty nice, just base without damage items.
Udyr needs runes more than Olaf. He also has insane mana issues when he doesn't have blue buff.
...
If you have to choose, get Udyr. He's a lot easier to learn, and not nearly as suicidal as Olaf when not played correctly.