Hi Jon,
In GOOP4 the singleton template is just a DVR class which restricts the creation of an object to only one instance. For the singleton template you get a protected method(GetInstance) to create/access your object.
If you go for the simple DVR class you have a public create method to create your objects.
As far as when to use the two approaches I guess you have already answered it your self a bit. When you only need one instance of a class and global access to it.
A few occassions when you could use a singleton is for an error class, or a log class or some kind of communication class.
BR
Stefan