Yes, this is a paid app but it's well worth the $10 if you're a professional developer or someone that uses his computer professionally. The free version does allows you to track your usage of all the applications on your Mac, but the Pro edition can track individual documents within these apps. That includes individual websites you visit in your browser.
Why is that useful? Because I can't really justify charging 8 hours of work to a client if I've spent 3 of those surfing on Reddit. Mind you, you could, but that's between you and your conscience.
Regardless, TimeTrack Pro is the best time tracking tool because it's passive. You don't have to remember to turn it on when you're actually working, and turn it off when you stop.
What does it do when I'm idling you say? This is where the only option that isn't a default comes in. Go to the "LogTime" tab in the Preferences for the app and select "Suspend logging when user is inactive more than 30 seconds". I found that 30 seconds is a good rule of thumb, it allows you to think about something for a little bit without having that time discounted from your results.
The app presents the logging results in a very interesting way, you can see a total usage time for all the apps of your computer, for single days or for an entire month. It gives you an incredibly detailed perspective on how you work, not just how you think you work.