One idea
Singleton is for one object that must have exactly one shared instance in your app process. Use it rarely.
It is not a shortcut for passing data around. If you use it for normal app state, tests and future changes become harder.
When it fits
A Singleton can fit for a logger, config reader, analytics client, or connection manager where creating many copies causes real pain.
Ask one question first: would two instances break something or waste a shared resource? If not, you probably do not need Singleton.