In my previous company, we started experimenting with automation. I had fun trying out the various tools and languages that were around, but we finally settled on implementing WATiN (for anyone interested, the others we seriously considered were Selenium and Sahi). I think we settled on the correct framework, but didn't have a good way of creating tests. What I had written was code that would replicate a workflow, but it turned out to be very flaky and not as much use as I'd originally hoped (if anyone from there is reading this, sorry about that).
I have recently moved to a new job, and the automation there is going to be driven using Cucumber, with Watir-Webdriver as the framework. I think that Cucumber will sit very well with me, because the scenarios that are written very much invoke my idea of a test case (Given your application is at some state, When you do something, Then this will happen).
I'm really looking forward to getting stuck in.