There is one simple color rule that has helped me endlessly in my designs, and I learned it in junior-high school. Unless you absolutely need to, never use black. It sounds strange to many, but it is a rule I live by now.
When you see dark things, it is common to assume they are black. It is actually very hard to find things that are pure black. It is possible, but most of the common things you will think of aren’t. Roads, for example, are not black no matter how recently they were paved.
Not even shadows are black. Any good painter knows this. Shadows are tints of a background color, and they are pretty much never actually black. They also reflect what type of light is being cast.
Now the reason it is important to note how hard it is to find a pure black is because pure black always overpowers other colors by comparison. It just does not naturally sit with most color palettes.
This goes double for web design. Even in apps or sites that seem to have black as a prominent part of the color scheme actually use dark grays, which are muted so they sit better in the composition.
Ian Taylor Storm, co-founder of Segment.io, also warns about the importance of saturation. Adding some color to grays helps liven them up a little. If you have a really dark gray, saturate it really heavily. Light grays will only need around 3%-5% usually.
The design for Facebook is a great example of this idea. All of the grays are saturated with the trademark Facebook Blue. The same goes for Facebook’s apps.
There is always a time and place for pure black, but it should be a rare occasion. Usually, a more natural color will suit your needs much better.