My understanding (could be wrong about this so I'm hoping someone chimes in to confirm)
Failed usually means something on the SIP Trunk side died/didn't complete correctly. For example, maybe you have restrictions on what numbers you can dial on SIP side - 3CX sent the call, trunk sent back a failure.
Target not found usually means something in 3CX isn't configured to handle that call. Maybe the number dialed is thought to be local to the PBX but doesn't exist or similar. Maybe it's thinking to make a direct SIP call? I don't think the call is sent to the trunk.
No Route exists is similar - usually means something in 3CX isn't configured to handle that call. Maybe an outbound rule doesn't match or similar. But it can't leave the PBX (but wants to in this case)
To be fair what I would normally do is set PBX to verbose and re-create the issue. Then check the logs, line by line, to see what happens. It will usually tell you what happened right before the failure.
(Terminated by of course means call completed and which side sent the BYE)