There are problems with redirecting mobiles to a different version of the site:
For a start, if you're doing it by the User-Agent string, you've got to have a huge long list and constantly update it, in order to keep on top of the changing mobile market.
For a second, you'll need some way to allow mobile users to 'opt-out' and use the regular site.
For a third, you then have increased your workload by having two sites running in parallel.
That isn't to say you shouldn't do it, but they are things to be careful of before you go down that route. There are other options, such as mobile stylesheets. If you're doing that, the most recent thought seems to be that a good strategy is to design for a low-function mobile first, then use media queries to progressively add better graphics, layout and larger display for larger viewports right up to desktop size – you would probably then want to use conditional comments to specifically target IE6-8, which doesn't recognise media queries.
The advantage of using stylesheets in this way is that you're only maintaining one site, so once you've got the extra layouts set up there's no real extra workload; you don't have to worry about keeping an up-to-date list of mobile User-Agents, and you don't have to worry about how to signpost the different sites. The disadvantage is that because you're only changing the styling, and not the code, you can't optimise the site as fully as you can with a completely separate site.