I main Carl and sub Jin.
Jin is much easier to describe. He’s definitely the most well-rounded character in the game and can be played both defensively and offensively with success. From defense, he has extremely good pokes like 5D and 4 different shoryukens, plus a fairly good projectile game. The worst con I can think of is that his shoryukens are VERY punishable on whiff/gaurd, so they must be used wisely or he’ll eat a combo.
His offensive pressure is fantastic - his D pokes have a lot of block stun, his mixup is pretty great, he can get into zoning character’s faces with a well timed ice car, and everyone hates shaking out of freezes. He can use 2B or 5B as tech traps when people roll towards him. The worst fault I can think of is his lack of a good overhead. His 6A is pretty slow and has very short range, leaving aerials as his most reliable high which is easier to predict.
Carl is a little tricky to describe. His HP and Gaurd Libra are very low, so he needs to keep rushdown characters at bay with a mix of zoning pokes. 5C has decent range for ground poking, 2B and 5B are a little more risky. He can catch people in the air with allegretto or with a clap/con brio from nirvana, his anti air 6A is extremely risky and flat out won’t work on some characters. Generally he needs to stick by nirvana’s side which can make him pretty defensive. His offense is where he really shines because of the clap loop infinite - with good enough execution, he only needs one poke to connect for him to force you into a clap grab loop for all of your life, even if nirvana isn’t nearby initially. If he manages to trap his opponent between him and nirvana he can lay the pressure on thick.