Projectiles are fired several ticks after they are actually inputted to fire, causing a desync. This desync applies to player movement as well as player aiming (they are fired from where you were standing several ticks ago, and in the direction you were facing several ticks ago). This causes projectiles to feel unresponsive, and is especially noticable with crossbows and throwable items.
Thank you for helping us improve Minecraft! We saved your files: