The GPL may be very clear, but its interaction with the laws that are in force in your area may not be.
As a (very) extreme example: I could write a license that says: if you use this code, you are now my slave. This license would not be valid in most jurisdictions; in fact, it might get me in jail. So, what you read in a license may or may not be true or enforceable.
> The amount of discussion on HN about the GPL, and whether a project is or isn't complying with it, makes me think it's not so easy.
I think it's not that the GPL is unclear; it's that people want to violate its provisions while not being held liable for their violations. 'We want three parallel red lines, one green and one black, all intersecting.'