[eluser]heavenquake[/eluser]
I usually use one controller per site "section". Ie one User-controller, that has register(), login(), display(), edit(), etc. etc. methods, and so on.
I'm currently experimenting with a single-controller setup, where the logic is in widgets instead. Everything is routed to this controller, which the looks up in the database/config what widgets it should load for this particular page. It seems to be working out pretty well so far. I'll be putting some code up on github soon :0)