There are quite a bit of different tools you mentioned up there. So I will just hit on a couple of tools that I use:
1) Card Wall. Yes, I know it is low tech, but the visibility and collaboration this brings to team is great. Otherwise, you are expecting someone to log into a piece of software every day to perform some actions.
2) Software that I really enjoy: Agile - RallyDev, Mingle, VersionOne Task Management: Asana (Free) Other: Trello (Free)
Other's I've heard, but have no experience with: Jira, BaseCamp