As I always say, "Under-promise so that you can over-deliver". When you tell them it will take a month to get done and you get it done in 3.5 weeks even though they added on a shitload more stuff, they are super happy. If they are not, you don't want to work with them anyway.
I had a list of tasks, put one off until the end because it looked nasty. Discovered that in fact the task description was completely off and it was trivial to fix. Fixed it and told my boss that I was out of tasks.
Boss complained that I need to give it more lead time to come up with more tasks.
I promised not to finish tasks faster than estimated any more.