Iskinematic: how does it work?

I knew the functions of IsKinematic option of rigidbody component as follows in the past, until one of my co-workers said something different.

“If I want a gameobject(which has a rigidbody attached to it) to move-rotate according to physics engine used by unity, then I untick this option. Meaning IsKinematic will be FALSE. If however I want this gameobject to move/rotate according to scripts, then I must tick this option. Thus IsKinematic will be TRUE.”

Whats you view on this?

Your colleague is correct.