IT lets you ensure your physics object correctly fits your levels no matter what state the animation is in.
it prevents a lot of bugs and fiddling with the animations for edge cases like one frame being 1 pixel too low pushing your character up. especially in larger projects. like, what if you'Re standing on a ledge and for a frame your collision is 1 less pixel wide and it just throws you down the ledge lmao
it lets you reuse code for a lot of things since they'Re all based on the same physics objects
collisions don'T need to be "character perfect" like give your players some leeway, let them put their head or body inside walls a little bit before you get a collision, what if your collision has weird diagonals for the arms when you'Re jumping and it just clips into a ledge you'Re trying to get to and your character ends up missing a jump for it (coming from below) or starts flying ( clipping from above)
they do this in a lot of games like in "for Honor", characters are cylinders so they behave the same way no matter what their models are. In unity most games use pill collisions to let you walk up stairs instead of hart colliding with them and then IK the feel of the character. It'S a really common game development thing
If you fired a bullet at a sprite that isn't a square but has a random square shaped collider the bullet would not collide with the correct collision point on the sprite
Thats perfectly fine, it makes the player feel awesome that they evaded that shot. Then what you can do is make the player'S shots be way bigger so they'Re more likely to hit so the player feels like they'Re super accurate and talented at your game. That'S also a classic tactic a lot of games use
If you look at celeste playthrough, a lot of players touch spikes without getting harmed!! IT'S a little gamedev secret !!!