No inconsistency here; this has nothing to do with free enterprise or individual freedoms. This is criminal activity.
Unlikely the guy was a con artist though. The offer to replace the roof for $20K was his way of getting told to leave and not come back. He needed an invitation to leave because he wasn't there to sell a new roof.
Did he talk with a very thick accent, stutter, or other speech impediment? They use that to keep you off balance while they BS you. Best way to counter that is to pretend you're deaf and make him keep repeating what he's saying so you have time to think it over. But walk around the house first to make sure the doors and windows are secured. Chances are good there was a second guy hiding somewhere, the one on the roof was a lookout