Eradicate according to Dictionary.com means:
To remove or destroy utterly; extirpate:
To eradicate smallpox throughout the world.
And the etymology of eradicate is out root, to pull up by the roots. So, to eradicate means to wipe out from the roots. This usage is usually for non-human items such as small pox in the example given.
Annihilate according to Dictionary.com, means:
- To reduce to utter ruin or nonexistence; destroy utterly:
The heavy bombing almost annihilated the city.
- To destroy the collective existence or main body of; wipe out:
To annihilate an army.
The etymology of this word is to nothing. To annihilate is to wipe out something to nothing. This usage from what I have seen, is usually for human related things such as army and city in the examples I have given.