A bullet makes a hole but a rock shatters the glass

As soon as one object impacts another, a pressure wave starts to propagate - this wave "tells the object" that it has been hit.

Now the peak value of the stress is a function of the rate at which the glass is being compressed, and of the rate with which the glass moves. If a region a short distance away "doesn't yet know" about the displacement of the glass at the point of impact, then there is a strong local shear / curvature in the glass. When this strain exceeds the limits of the material (glass) it will fracture. Since the bullet is traveling very fast, the wave has not traveled very far in the glass, and all the displacement is in a very small region.

By contrast, a large rock hitting the glass slowly will cause deflection of the entire surface before the local stress becomes very large. This results in the storage of elastic energy over the entire plate - and once a crack initiates (at the point of highest effective stress: actual stress possibly amplified by a stress concentration factor like a small surface crack or other discontinuity) it will propagate throughout the stretched medium (as the crack tip becomes a stress concentrator, it will propagate into regions of lower stress).

Crack propagation stops when the crack reaches a region with insufficient elastic energy stored. In the case of the bullet, the region where stress had time to build up is small.

In summary, the factors to consider are:

  1. The time to reach sufficiently night impact stress
  2. The propagation velocity of the stress wave in the glass
  3. The crack propagation velocity