This can be tricky.
What I've done is follow a simple rule: If it's not readily apparent what an icon might do, don't allow it to do anything permanent or drastic in one click. If you think a user might not be able to tell what an icon is going to do, bring up a menu for the user or at least make sure wherever they're headed it's both 1) easy to return to where they were, and 2) not going to alter or change anything just because they went there.
Some examples:
Menu probably needed
- Envelope icon: Okay, so you're sending or sharing or something, I get the idea. But sending or sharing what? And via what? This one probably requires some sort of menu, even if it's a "Share this via email? Yes No" sort of thing.
- Gears icon: So it seems like some sort of settings or something? That's a menu. Or you could just take them to the settings area, as long as they're not going to permanently alter anything just by going there.
No menu necessary
- Trash can icon: just about everyone knows what this is going to do, delete something. So (probably) no text necessary. (You still probably want a confirm on a delete, though, so maybe this is a bad example).
- Edit Pencil: If you have an edit pencil on a screen or in an area where there's only one thing it could be editing, it's probably okay just to take the user to the edit form on the first click.
Fuzzy ground
- Plus sign icon: Okay, depending on the app, this might not require text, but what if there are multiple things you can add? Then you might need to menu to choose what to add.