I am notorious for ordering things "special"-- omit this, sauce on the side, substitute this. If doesn't come how I ordered it (after being told it was no problem) and it can't be fixed by scraping something off or having them bring something forgotten, then I will send it back. Also if it is improperly prepared.
But if it is exactly what I ordered and I just don't like it then that is my problem and I just suck it up and usually don't eat it. Not the restaurant's fault so no reason to complain to them or ask for something else. Of course occasionally the server will notice and offer to bring something else or take it off my bill but I always decline.
It is funny because this could have come up last night. We were at my favorite local Mexican restaurant and I ordered something I hadn't had before. When we all got done ordering the server said to me "You know yours has spicy salsa-- you like spicy?" Me:

I explained what I was hoping to get and he explained what I had actually ordered-- and then suggested a meal that would be what I wanted. Crisis averted! There is no way I could have eaten what I ordered!
DH just laughed when the server left and said "Do restaurants now just have your picture in the back so when you come in they know that you are picky and to double check your order? Are they all calling each other and circulating your information so everyone can be prepared?? "
I am assuming that I am not the first customer to have made that mistake and ordered the one dish not realizing it was different from the others, so they always check to be sure now! Of course I felt like an idiot when I thought about it because what I ordered was "Enchiladas Poblanos" --

DUH! Pobanos are spicy peppers. I was so busy figuring out what my kids were getting I just picked a description that sounded like what I wanted.