To add on to the previous answer, I would say "caught off guard" usually has a more negative meaning than surprised. As mentioned, they can be used interchangeably but surprise has a less negative connotation. Caught off guard is more like shocked. You can think of the difference as the difference between shocked and surprised, if that makes sense? Conversely, think about fencing or boxing, when you have your guard up any hit that comes is expected vs you have your guard down and the oppoment stabs you or sucker punches you, they're catching you off guard and it isn't a pleasant experience.
Surprise also has a broader use, I think, and can have a more positive meaning than catching someone off guard. Akin to "I was so surprised she remembered my name!" "She surprised me with a gift!".
As for "biting someone's head off" - this is always negative and aggressive vs "ruffling someone's feathers" is being agitated. Something you said or did agitated a person, or something someone else did agitated you and you got your feathers ruffled. You got under their skin, you shook them up a bit, you . Think about a bird that you've annoyed and they literally ruffle their feathers - they're agitated but not quite mad yet. Conversely, someone who isn't phased by anything, who is always even-keel can be described as "he was completely unruffled. Nothing bothered him."
I hope that makes sense!