Tom (if i may call you), my first quetion to you is ...... do you understand the position or is it just memorising the book moves? If it is just memorising the book moves, i am pretty sure someone will play out of the book moves to test your position knowledge.
BTW, not always we can punish a playing for an error. Sometimes, we need to advantage in the long term.
However, i believe that your problem is not understanding the position. That is all.
Does anybody know any ways I can work out why a move of my opponent is bad because it happens sometimes (normally the opening) where I'd see an error in my opponents play because I look for everything I can think of like pins, forks, skewers, loose pieces, etc... but sometimes it seems the move which was played wasn't an error despite straying from opening lines and I often lose by targetting "non-existent" weaknesses? and I often feel if I keep playing as if nothing happened and follow the book it'd be giving them chance to rectify their error