I actually enjoy using it, it's like a fun puzzle box sometimes and other times it's just my comfy hammer.
But god damn, some things are needlessly complex. Let's say I want to take the first 15 seconds of a video, and remove the bit between 2-5 seconds. I need this chunk of garblygook in my command:
-filter_complex "[0:v]trim=duration=2[va];[0:v]trim=start=5:end=15,setpts=PTS-STARTPTS[vb];[va][vb]concat[vc];[vc]scale=-2:720[vout];[0:a]atrim=duration=1[aa];[0:a]atrim=start=5:end=15,asetpts=PTS-STARTPTS[ab];[aa][ab]concat=v=0:a=1[aout]" -map [vout] -map [aout]
Why do I have to split the audio tracks? Yes, trim and setpts both have audio specific verions but... what if I want to trim both at once?
Why does setpts have to be there? Without it something goes wrong with... maybe the timestamps? And the picture freezes where the removed video was.
What on earth is =v=0:a=1 doing in that last concat? It has to be there... I think tricking concat into working on audio????
This solution was stolen from stackexchange and made a bit worse by me, of course. I think the ultimate answer to all of the above questions is "Just script it". Still,