There's a number of reasons that effect a fish's colors.
One of the main factors is, diet, maybe the ones at the store get fed foods with more carotene and nutrition, and that improves the vibrancy of fish.
He could be a late bloomer.
Stress, is a common cause of lacking color in fish.
Genetics is also a possible out come of how the colors will develop.
Water quality is the most likely cause of really any fish problem, and yes poor water can make your fish's colors weaker.
Like you said in your post, yes the color of the substrate or what ever you have covering the bottom can slightly bleach a fish. Thats probably the most likely case, but it also depends on the lighting your using too.
Lighting like said before can cause color changes in fish, because when it becomes dark fish normally make them selfs paler and lighter. So maybe you have a dim form of lighting or dark colored lights.