::: работает только со списками, а ++ может использоваться с любым проходящим. В текущей реализации (2.9.0) ++ возвращается на :::, если аргумент также является List.
:::
++
List