Projects are essentially large tasks with an end date and it would be great to use projects in Asana as such, as I believe that’s how Asana intends them to be used. But there is a problem.
Right now, many people use projects in Asana for things that aren’t actually projects. Some create projects to represent departments like Marketing, Product, Operations, etc.
It seems like teams in Asana would be better suited for grouping tasks by organization function (e.g. Marketing, Product, Operations, etc.) as teams also allow managing user access. However, tasks in Asana have to belong to a project.
The best solution on the user’s end is for them to create a general-purpose project within each team that doesn’t actually represent a project in the real world. For example, in the Marketing team, one may create a Marketing project that contains all the smaller tasks like “Refill the water cooler” that aren’t part of a larger project.
If it was possible to add tasks directly to a team, projects in Asana could actually represent projects in the real world, i.e. large tasks that can be considered complete when all the sub-tasks are completed, instead of a bucket of related tasks that never ends.
This is also likely partly why so many people use tasks in Asana (with hundreds of sub-tasks, mind you) to represent projects in the real world. Their projects in Asana actually represent teams, their tasks in Asana represent projects in the real world, and their sub-tasks in Asana represent tasks in the real world. This is a misuse of the Asana hierarchy which is unfortunately necessary at present.