If things go according to plan, a stop payment prevents the recipient's bank from cashing a check and the payment doesn't go through. The goal is to protect against a lost or stolen check being cashed by an unknown person.
Stop payment orders last for 6 months. If a bank does cash a stopped check during this period, it may be liable to the sender for the amount. If a person orders a stop payment after a check is already cashed, it is too late. If a person does try to cash a check after the 6-month stop period, it likely goes through. The typical fee for stop payment requests is around $30 as of 2014.