At work I have deprecated many older software components in favor of implementing newer, less painful to maintain ones. Lots of other software engineers use those components, so a big part of it is documentation or training. Rather than harp on the flaws of the old thing, I try to objectively present the lessons learned from it, with an emphasis on all the good aspects of the original that carried forward into the replacement. That generally makes the transition smoother, especially for getting buy-in from the folk that were involved with developing the original implementation. I also wouldn't tell someone not to use an existing component that works, unless I have a concrete recommendation for a better alternative.