s → 0s0 | 1s1
is not grounded, because there is no way to get rid of the s. The grammar creates a binary palindrome, but there's no way to stop.
To determine whether a grammar is grounded, let b be the set of terminals, and add in the nonterminal x if x appears on the left hand side of a grammar rule, and the right side is all terminals. We have found a rule that maps x, in a certain context, to terminals. Hence x is grounded, and belongs in b. Do this for all the rules in the grammar, adding various nonterminals to b.
When you've gone through all the rules of the grammar, start over. If x is on the left side of a rule, and the right side consists of symbols from b, then add x to be. Repeat until b contains every symbol, or no new symbols can be added. If b holds all the symbols then the grammar is grounded.
If the grammar is context free and grounded, then every nonterminal definitely generates a string of terminals. This is true of the first nonterminal added to b, and the next one, and the next, and so on.
A context sensitive grammar could be grounded, according to the above procedure, and still there is no way to get rid of the start symbol. Consider s0 → 111. The nonterminal s gets brought into b, because there is a context wherein s goes away, and leaves only terminals. But we never see this context. When you start with s, there are no applicable productions.
A context free, grounded conected grammar guarantees that all the nonterminals participate in valid derivations, and every terminal appears in at least one word of the language.
Since unconnected or ungrounded symbols can never appear in a valid derivation, we can delete them and their associated rules without affecting the language. Therefore we will assume grammars are grounded and connected.