Singletons - a class using singleton X has a dependency on it that's hard to see and hard to isolate for testing.
They're used very often because they're convenient and easy to understand, but they can really complicate testing.
See Singletons are Pathological Liars.