I've haven't been wowed by a Call of Duty game since Modern Warfare. The jump from Call of Duty 3 to that was immense...but I think that was because it was a completely different engine.
These incremental updates on a per-game basis aren't anything like as impressive compared to other engines, but they usually perform at a pretty solid rate.
Biased perspective.
The jump from Ghost to Advanced Warfare was equally big if not more...and they are all incremental, including COD3 to COD4.
You have a very simple definition of what a game engine is, it's something a lot more complicated. COD3 to COD4 was a completely different engine in the same way BO2 ran a completely different engine than COD4. They all originate from the same place (Quake 3 engine) and every developer has heavily modified it and made their own version of the engine so much so that it's a new engine on its own with almost nothing remaining of the Quake 3 engine, and really this is how engine development works, it's always iterative. In this day and age the ones who start from scratch end up running into trouble...just look at how so many Japanese studios have had issues with engine development over the past decade to see what happens when you don't.
So while it's not correct to say those COD engines were just "modified Quake 3" like some people claim, it's also not correct to say that COD3 and COD4 were completely different engine but Ghost and Advanced Warfare weren't.
Here's what happened: Treyarch got the COD4 engine from IW and nothing else. IW left them to their own with no support since they had to make MW2. Treyarch modified and did their own thing for WaW, BO1, BO2 and made their own current gen version for BO3. Infinity Ward had the COD4 engine they modified it for MW2, MW3, upgraded it for Ghost and now Infinite Warfare. This is why you see some features in Treyarch's games but not in others and vice versa.