Holonomic controller vs differential controller

Hi. Could someone explain to me what is the difference between a differential controller vs a holonomic controller and what are the use cases for them? aka when should I use one instead of another? 🙂

If someone looking for an answer,I asked the same question in discord and got an answer.

Blockquote Hi, The differential controller can control the robot base to move with x and theta while a holonomic controller can control the robot base to move with x, y, and theta.
Where Theta is a Robot rotation angle