The reasons were:
1. He didn't want to stay so long people wondered when he would leave.
2. Medical issues.
3. Russel T Davis was leaving, and he got David his place as the Doctor. So when RTD left he supposed he would to.

I don't think Eccelston ever gave an exact reason, but if you listen to the David Tennant Nerdist Podcast episode, he explains that Russell T Davies was leaving as head writer, and he felt it was right to leave when he did. He said he almost stayed when Stephen Moffat was chosen as the new head writer (since he wrote the best episodes, The Empty Child, Blink, etc) but he felt his time was done.

I think he said that if he stuck around any longer he'd never want to leave and wanted to end on a good note before people got sick of him as the Doctor (not like that would EVER happen but I digress). Also apparently he's coming back to do the 50th :D