The reason one says good-looking is because someone looks good.
This is just the same reason why it’s nice-sounding for sounding nice, sweet-smelling for smelling sweet, good-tasting for tasting good, bird-watching for watching birds, acid-producing for producing acid, bear-baiting for baiting bears, or even a claim-jumper for someone who jumps claims and a skyscraper for a tall building that scrapes the skies.
In all cases, the predicate complement, which normally follows the finite verb, becomes here the hyphenated prefix falling before the -ing word when the verbal phrase gets used adjectivally. Normally these complements are direct objects (and thus substantives) of transitive verbs, but for the sense verb, they are adjectives.
The Romance languages do not form compound words using this sort of inversion of verb and object. So where English has skyscraper, Spanish has rascacielos, Portuguese has arranha-céu, French has gratte-ciel, Italian has grattacielo, and Catalan has gratacel or tocanúvols. Here the complement follows the verb, whereas in English, it precedes it.