You should have a look at the man page and it will tell you:
WHEN TO USE GREP ack-grep trumps grep as an everyday tool 99% of the time, but don't throw grep away, because there are times you'll still need it. E.g., searching through huge files looking for regexes that can be expressed with grep syntax should be quicker with grep. If your script or parent program uses grep "--quiet" or "--silent" or needs exit 2 on IO error, use grep.