Also, sometimes that third party solution will go out of business if its proprietary or it may simply stop getting code patches/updates if its an open source one.
In the former case, contracts will help to some extent to mitigate the danger but you will still be stuck with using a legacy technology.