I would not say that pd or Max/MSP is more approachable, they are pretty even these days unless you stick to vanilla pd with no externals which almost no one does, the main differences is that Max/MSP gives you all you need out of the box but pd can run just about anywhere including in plugins if you are that sort. Max/MSP is considerably more modern in aesthetic but PlugData[0] and PurrData[1] offer more modern interfaces for pd with a few new tricks, PlugData is a plugin version of pd (also standalone), Purrdata is a JavaScript rewrite of the interface with prepackaged externals and solid documentation. And we have a handful of other varieties of pd each which have their own slant and can be found on puredata.info.
0: https://plugdata.org 1: https://www.purrdata.net
Edit, ok not having a dozen different varieties and hundreds of externals to choose from does make Max/MSP more approachable. I was mostly speaking from the standpoint of use but I realized all I did was say that pd is an example of a major flaw of OSS in the days of analysis paralysis.
More examples you can try on the browse page: https://noisecraft.app/browse
from what ive saw last, touchdesigner was in a completely different league in quality and ease of use
TD has more of a game-ish aesthetic. Max/Jitter is better for chopping up and distorting video streams and grunge-ifying them, with some simple renders and FX on top.
As a music system - it's in a weird place, because it's incredibly awkward if you're used to even the most rudimentary coding. A construct that takes a minute or two in Python can take five or ten times longer in Max.
But it has some decent DSP features, including custom DSP coding, so it's a good way to get certain things done. Or at least prototyped.