JIRA works great for our engineering team. It is a pretty standard product, well-ingrained in our workflow. It is not super intuitive but our engineers like it.
Asana is adequate. I wish it had a better UI, especially in regards to time charts. It is simple and easy to use but sometimes complex projects evolve into long lists and it is not really helpful.