There are cases where the given platform cannot shape at all or not in the required direction. On the (Cisco) platforms I have come across, ingress QoS is usually able to police, but not shape, while egress QoS can queue/shape and/or police.
Shaping/Queuing requires buffer memory per port (which can be a very limited ressource on some platforms), and can lead to delay and jitter as soon as those (egress) buffers start to fill up.
There are cases where varying and volatile RTTs (read: jitter) hurt the application more than a few lost packets. Also, not all TCP congestion avoidance algorithms are equal - some only consider packets lost, others take the RTT/jitter into account.
I found https://blog.ipspace.net/2016/09/policing-or-shaping-it-depends.html and http://packetlife.net/blog/2008/jul/30/policing-versus-shaping/ to show the differences pretty clearly.
In short: Policing is needed in two cases:
- ingress policing, e.g. to prevent the "clever" students on the VoIP enabled campus to pump more than, let's say, 250kbit/s of EF/DSCP46 traffic per port into your network.
- egress policing for applications that do not like jitter - mostly RTP streams for voice, but also things like PTP (Precision Time Protocol).