Estimating development time is similar to the coastline paradox. The more detailed your project description gets, the longer you estimation will be.
You start with “building a blog will take me 20 hours”, then go to “OK actually I will need 10 hours for the data structure, 10 hours for a way to create posts and 10 hours for the actual website”. For each of this estimations you will end up with more hours needed the further you break them down.
Breaking tasks down reveals more of the complexity of a task, leading to higher (hopefully more accurate) estimations.