Throwing engines were used during besiege through all history from the Ancient Greece campaigns till the envention of cannons. That was imperfect but very powerfull weapon for crushing enemy fortifications.

Ballista threw spears and arrows and was very dangerous for enemy garrison. The most powerfull ballistas threw arrows farther than garrison archers did. But it couldn"t make any damage to the walls and gates. The engine that destroyed fortifications was Catapult. It threw huge stones, which slayed garrison soldiers and destroyed fortifications.