The combination of the above mentioned 3 features make it quite useful. This is of course in addition to many of the features clickup already has or is planned to have , like gantt charts. Let me explain from my current use case scenario. I use this workflow at our organisation with roughly 30 users. If this can be ported (if you could suggest an alternative ?), clickup would be our goto choice.
Here's my workflow from Asana Organisation.
Image 1 (core) . contains a project called Gantt, from the team Core. The core team is more like the operational and product management team , comprising of leads of various departments.
Here, as shown in the Image, top-level tasks for the particular project (gantt (dummy for illustration)) are populated and distributed among different teams. In this view, tasks don't move sideways. For organization sake, tasks can be re-arranged, within a particular vertical. The primary reason for this view is to get a big picture of what a full project requires and the timeline view is what we need for this.
Dependencies can be now managed on the timeline view of this project as shown in Image 2. (timeline)
From here, the managers of the vertical heads can send the tasks to the respective teams by having the same task show in the particular team's project. ( A feature request for this exists. (https://feedback.clickup.com/feature-requests/p/link-tasks-to-more-than-one-projectlist-rrxf) . In asana however, even subtask can be 'sent' like this by having it be a part of another project, in another team.
For example, a particular task is sent (by additionally assigning it ) to R&D dashboard. Here, the task moves sideways as in a regular kanban system.
Alternately, if the task has multiple subtask. Then the parent task can be left under "project vertical", and The subtasks of that task can be populated on ongoing (this is possible in asana. A subtask can also occur under various projects)
This way, each team can accept top-level tasks and break them down as they please, and once it's complete, strike it off as done.
Completed tasks will automatically be updated in every place the task exists in Hence, in the team core, everyone will get to know if the top level task is complete and will clear any dependencies.
So every team can have something called the dashboard to receive tasks and also populate their own tasks. They can further create private projects within their team. But even then, whatever is being worked on is populated to the Dashboard which becomes one place to monitor all the work that's being done. Other aspects of project management framework can be applied as per preference.