In theory, you could use both in the context you mention, although the noun "gyönyörűség" is surely more case sensitive (would need a sentence to see) than "szépség". (The adjectives are easier to use, I would think.)
Roughly, the difference is:
gyönyörű (adj.) - wonderful --- gyönyörűség - delightfulness, loveliness, splendour, magnificence - is the noun formed from the adjective, with a more complicated usage
szép (adj.) - beautiful --- szépség - beauty - with an easier usage
Agreeing with Zsanna, I'd also say that gyönyörű expresses a "higher degree of beauty" than szép. As to landscapes and cities, both can be used. The former is approximately belíssimo and the latter belo/bonito in portuguese.