Other answers are really good, I just want to point out one truly important thing:
When you are too focused on a task you are following your path and you usually overlook other possibilities. When you break you have time to
- Rest your body from the (usually) sitting position
- Rest your eyes (truly important)
- Break from the work and flow you were in
When the brain is in the flow we follow a precise path, we simply don't see better alternatives in our work because our brain is focused. When I'm programming, pomodoro rings and I take a break. When I return from breaks I see many new possibilities in what minutes before seemed a single choice task. If you are following the wrong path, the break allows you to leave it (for a while) and when you are back to work it's easier to spot flaws in what you were doing and to choose a better path.
My experience with pomodoro technique is good, it got me doing way more work than before, also because it gave me the chance to correct mistakes in my flow.