Ack is wonderful example of tool use evolution.
Before ack, I used grep to find stuff, but each use would frequently require additional options to exclude certain types of files, then coupled with a pipe to filter other stuff, etc, etc. After ack, everything is much simpler; just specify what you want. It has replaced most of my grep invocations. Honestly, if you work on the command line and use grep, you owe it to yourself to try ack. You (probably) won't look back.