According to the [WITH Clause](https://community.denodo.com/docs/html/browse/7.0/vdp/vql/queries_select_statement/with_clause/with_clause) section of the Virtual DataPort Administration guide, advantage of the CTE's is that they improve the readability and maintenance of complex queries.
Talking about limitations, the same disadvantages that apply to CTE's outside of Denodo are relevant for CTE's within Denodo as well. The performance would depend on how the CTE is being used. The data required to make a CTE still has to be queried and brought over a network. Also, if you are referencing it multiple times, it would be better to create a view instead that has statistics and indexes which help speed up query execution. To conclude, the performance aspect of a CTE depends on the data they pull in and what is done with it.
Hope this helps!