I don't eat meat and quite a few times I've had meat, usually some sort of pig product, show up in supposedly vegetarian dishes. I always speak up but I have varying results from doing so. There was the bakery staff member who laughed and said "lucky you! Bonus bacon!" Um...no. Then there was the waiter who picked the piece of bacon off my plate with his fingers and ate it then walked away saying nothing. That's when you need to take it to the manager. I've let stuff go a few times but I think it's worth speaking up so they know to stop doing things like that.
I think if it really is like a fly or cockie in the food, you should take a pic.
Tell the manage, plus see what he would say if the health department were to know.I would walk out.
I could not eat anything after that.
Take that important pic, and tell them you have it.
I would let the staff know. I couldn't eat anything else from a kitchen that had cockroaches in it, so if it was one of these I wouldn't expect to pay for it. A fly is understandable, and I'd ask for something else.
I am a former hotelier and in my experience, it is always best to let the manager know of anything you consider bad service or food. Firstly, let your wait person know of your problem, politely.Then, if the problem is not addressed,
find out the managers name and let them know your problem and make sure you let that person know. Most would be devastated that a customer was not happy and would probably not be returning and would also be letting everyone know about their bad experience, including on line restaurant rating websites, like Urban Spoon.