I disagree with this rule as phrased, though I agree with the examples: "MODIFYING COMPONENTS BASED ON WHO THEIR PARENTS ARE"
In the example there is a 'regular' version of widget and a couple 'special cases'. I think if it was treated as .mainContent>.widget{...} vs .sideBar>.widget the granularity and expectations are the same, you can still have a more generic .widget that sets common values. In general I think this is more readable and concise than having a .mainContentWidget and .sideBarWidget separately.
2c. :-)