Why is it bad to use the GUID?

In a nutshell – GUID is not supposed to hold meaningful data and the fact that at this moment the data in it happens to be meaningful is coincidental.

WordPress does no verification whatsoever that GUIDs mean anything. They are not guaranteed to stay immutable if you rely on that and they are not changed when that needs to happen if they are treated as data, for example on migration with domain changes.

In all my history of using WP GUIDs were one of very few things that got slapped with backwards incompatible change (sanitizing strategy for them was tightened) and it exploded long deployed work project.

You got very accurate and very practical advice – forget GUIDs exist in WordPress. Follow that advice.