В чем тонкости отличия toggleClass от addClass и removeClass?
toggle это абстракция над последовательными вызовами add-remove-add-remove...
Применяется только в редких случаях когда точно известно что нужно всегда менять значение на противоположное.
л - логика.
всё же понятно из названий. и кейсы - совершенно разные. 

для тупорезов: переключить и добавить/удалить - два разных человека.