How does a bullet achieve its stability when fired? As far as I know, darts, arrows, and airplanes have the center of gravity(CG) ahead of their center of pressure(CP) and often have fins at the rear to achieve stability. Contrary to these, bullets have CP ahead of CG and they do not have fins. Thus, how do bullets acquire stability?
 A: You may want to look up rifling - a bullet is made spin around it axis in order to give it stability. This is actually the main difference between a shotgun and a rifle - the former does not have a helical groove in its barrel and therefore is much less precise (although nowadays the distinction is probably rather blurred).
A: Non spinning bullets: firstly Bullets are not perfectly symmetrical. Secondly, the CG of the bullet moves on the projectile path while its axis of symmetry, has an angle with the projectile curve. This angle (even in still air) produces an aerodynamic force which creates a torque on the bullet (as you know CP is ahead of CG) and increases this mentioned angle, so bigger angle results in greater aerodynamic force, thus greater torque and eventually the bullet will tumble.
To make bullets stable, we make them spin around their axis of symmetry (by rifling the barrel). The rest is explained on Wikipedia nicely:
"Gyroscopic drift (Spin drift)
Gyroscopic drift is an interaction of the bullet's mass and aerodynamics with the atmosphere that it is flying in. Even in completely calm air, with no sideways air movement at all, a spin-stabilized projectile will experience a spin-induced sideways component, due to a gyroscopic phenomenon known as "yaw of repose." For a right hand (clockwise) direction of rotation this component will always be to the right. For a left hand (counter clockwise) direction of rotation this component will always be to the left. This is because the projectile's longitudinal axis (its axis of rotation) and the direction of the velocity vector of the center of gravity (CG) deviate by a small angle, which is said to be the equilibrium yaw or the yaw of repose. The magnitude of the yaw of repose angle is typically less than 0.5 degree.[59] Since rotating objects react with an angular velocity vector 90 degrees from the applied torque vector, the bullet's axis of symmetry moves with a component in the vertical plane and a component in the horizontal plane; for right-handed (clockwise) spinning bullets, the bullet's axis of symmetry deflects to the right and a little bit upward with respect to the direction of the velocity vector, as the projectile moves along its ballistic arc. As the result of this small inclination, there is a continuous air stream, which tends to deflect the bullet to the right. Thus the occurrence of the yaw of repose is the reason for the bullet drifting to the right (for right-handed spin) or to the left (for left-handed spin). This means that the bullet is "skidding" sideways at any given moment, and thus experiencing a sideways component.[60][61]
The following variables affect the magnitude of gyroscopic drift:
Projectile or bullet length: longer projectiles experience more gyroscopic drift because they produce more lateral "lift" for a given yaw angle.
Spin rate: faster spin rates will produce more gyroscopic drift because the nose ends up pointing farther to the side.
Range, time of flight and trajectory height: gyroscopic drift increases with all of these variables.
density of the atmosphere: denser air will increase gyroscopic drift."
