Incremental search is more responsive and requires less interaction from the user, but are there cases where using it is the wrong choice? I'm specifically referring to web applications.
There's two situations which I can imagine:
Bad Performance: If it takes too long, or takes up too much processor power (making the UI unresponsive), don't do it.
Complex queries: Incremental Search is nice if you have a single search field. But if your user needs complex queries (such as a date range, consisting of two dates, which no single search field handles well), then it can't be incremental.
Predictive search is often good. It saves the user from having to type in their full query and allows them to perhaps choose something that may be related to what they are looking for and may not be exactly what they are looking for.
The times that predictive search is bad is often when doing lookups on something that should be regarded as "safe". In some products, looking up user names can sometimes be bad if you do a predictive search. But in other cases, like when you want to tag a friend on a picture it is a very good thing.
Without knowing the specific implementation you are looking to do, it is difficult to provide with a full answer. In many cases and if not most, I would suggest that sort of implementation. I don't fully agree with virtualnobi in regards to terrible performance. I've built hundreds of these types of "type ahead" or "predictive search" inputs and all of them had terrific performance. This is more a question of implementation however, including how you cache, what DBs you use and how you structure your data (indexes, keys, search type, etc).