"The tilde (~) selector lets you target a sibling element. That is, an element that shares the same parent"
Could then explain how it's different than the + selector.
"This differs from the + selector which will only find an adjacent sibling (immediately following)."
I'd consider comparing it to the child and descendant selector, if I could word it properly. This is what I have which I'm not happy with:
"In some ways, the differences between + and ~ are like the differences between the child selector (>) and the descendant selector (a space), in that #header > a will only a elements directly under #header, while header a will target all a elements under #header, regardless of depth.
Unfortunately, that is not true. It only matches following siblings.
See my JSFiddle demo: http://jsfiddle.net/alanhogan/sSVCG/
(Also, HTML comments between elements apparently mess up IE7 and IE8.)
These types of things are great, the more we move away from JS DOM hacks the better.