ИМХО, почему синглтон, а не обычный объект - чтобы объект был одним и тем же в разных частях вашей программы - надо его туда передать.
Синглтон же - достаточно просто создать экземпляр этого класса и автоматически подтянется ранее созданный, в другом конце приложения, экземпляр. Что и даст нам "по определению единственный экземпяр" как написано предыдущими ораторами.