「in time」とは、時間よりも前である、遅れていない、という意味です。通常、時間ギリギリに何かが起こったときに使います。「on time」は、タイミングよく、時間厳守の、ある期限の前に、という意味です。基本的には、予定されていた時間内に何かが起こっていることを意味します。
例: John is always punctual. He is always on time.（ジョンはいつも時間に正確だ。彼はいつも時間通りだ。）
例: I made it in time just to catch my flight.（飛行機の時間にちょうど間に合った。）