Is it always better to play a knight immediately?
Simple answer is no, it is not always in your best interest to immediately play a knight when you get one.  In all truth I would say that it is better to hold onto it for a while unless the robber is currently in a position that is hurting you. By holding onto it you accomplish two things, first you keep protection for yourself allowing you to move the robber if it moves to a bad place for you. Second it allows you some time to make sure you optimize use of the card.  And lastly if the robber is in a place that hurts your opponents and not you that is great reason to not play the knight.