A co-worker was just showing me a situation where another developer had written a validation framework which was only used on 2 pages. I've seen this pattern again and again, and I've put a phrase to the thought:
Premature generalization is the new premature optimization.
And it, too, is evil.