Estimation seams hard because of two reasons.
1) Very few individual contributors responsible for providing estimates ever invest the time necessary to learn how to perform estimation.
2) Many stakeholders (managers, PM, etc.) do not know the definition of the word estimation.