What is the meaning of 'nicht sehr gut'? I've heard it variously translated as 'not so good', 'not 100%', 'not very good', and 'not very well'. Does its meaning change when describing a person as opposed to an object?
Generally, this is a euphemism meaning that it is bad.
I don't think that the usage differs a lot from English:
The service was not very good.
He's not very good at baseball.
And in both languages you can change the meaning by stressing "very" or "sehr".
He may not be very good at baseball, but he is still a solid member of the team.
Er ist vielleicht nicht sehr gut im Baseballspielen, aber er ist dennoch ein verläßliches Teammitglied.
The meaning of the phrase depends on the context, for example:
"Wie ging die Klassenarbeit in der Schule?" - "Nicht sehr gut"
"Wie geht es dir heute nach dem Unfall?" - "Es geht mir nicht sehr gut."
These examples can be translated as "not so good".
The following sentence
Viele Fußballer können nicht sehr gut singen.
could be translated to
Many football players are not very good at singing.
Its meaning can be translated with not so good. As in
He is sleeping because his health status is not so good.
You could find other translations, but it basically means that something or someone could be or do better.
In the context of school it could mean getting a "2" (good) instead of a "1" (very good). Generally it implicates that one could have done better.