How does Castle Crashers keep player's progress?

Yes, all progress made in single player is transferred to multi player.

Weapons, gold, story progress, and experience are all different for each character.

You don't lose weapons or animals when switching characters everything else depends on which character you play with.

The story progression in multiplayer also depends on who is hosting the game. So for instance your friend beat the game but you haven't, you will still be able to play the final level.

Also as a word of advice: When you are playing a higher level area with a person with a lower level character, make sure the lowest level person gets the weapon last because if they pick it up and are too low level too equip it, it disappears instead of them throwing their old weapon. (They still get it)