I actually perform undercover security for a local grocery store chain and can picture exactly what happened in this story. However, we are trained and instructed to practice judgment based on each situation. It looks like the folks at Safeway (and then the police) did not practice sound judgment.
I often see people eating something in the store while they shop, which obviously catches my attention, and I have to keep watching to see if they pay for it. Here are a couple scenarios:
Someone opens and eats the sandwich in the store and goes out of their way to ditch the wrapper, indicating no intent to ever pay for it. Shoplifting. I contact them at the store exit (after they pass all points of sale and make no effort to pay), apprehend them, and take them to the office. I do not allow them to pay since they already had that opportunity and showed intent to steal. Police come and issue a citation. They are typically released, unless they have a warrant or caused a major disturbance.
Someone opens and eats a sandwich and leaves the wrapper in their cart, but forget to scan it when they buy their other stuff. No way to prove intent to steal, could have been a mistake. I will bring it to the cashier's attention so they can ask about it. This usually leads to an embarassed, "oh yeah, I forgot" and it's over. Sometimes a customer will raise a stink about it or pretend like it wasn't theirs, and I will give them the option to pay for it now or we can talk about it further in the office, or let the police decide. They always pay for it then.
In the story linked above, I cannot imagine how it would get as far as it did, with a pregnant woman and a child involved. My first responsibility as Loss Prevention is to protect the company's assets. That means, not only merchandise, but also minimizing liability and protecting the brand. Poor PR loses money. Lawsuits cost money.
Even if a pregnant woman with a child were to intentionally steal a sandwich, I might err on the side of allowing them to pay or even letting them get away with it. If I am seen harassing a pregnant lady with a kid in tow, I will lose that PR battle every time, no matter what she did, and that would hurt the company more than the cost of the sandwich.
Several years ago, one of the stores I work for cited someone for eating a peanut in the store (Not me, I wasn't working there yet). That one got to the news and led to a shitstorm for the company. While technically shoplifting, we are better off letting those go, LOL.
In my cases, the police are usually more thoughtful on how to work with the people I apprehend. I can't believe that there would be an arrest and CPS brought into it unless there was some serious shit in the background (warrants, threats of violence, etc.). Sounds like everyone fucked up here.
And there is no way I would keep them there for four hours, waiting for police. WTF? There are some serious problems with this story.