You can draw a relatively consistent line through Europe, to the west of which, Indo-European languages mostly have one or two genders and nouns don't inflect for case, and to the east of which, languages tend to have three genders and nouns do inflect for case. Roughly speaking, this would run east of Sweden, through the Baltic sea, along Germany's border past Denmark, the Netherlands, French/Italian speaking Switzerland, to the Italian-Slovenian border, and finally through the Adriatic sea.
The one modern Romance language I'm aware of to have preserved three genders and nouns that inflect for case is Romanian - to the east of this line. The Slavic branches retain three genders and nouns are inflected for case, along with Greek and Albanian. To the west of the line, the Celtic languages have two genders ~and nouns don't inflect for case~ (EDIT: they do). Many Germanic languages have a common-neuter gender distinction, or no gender at all as with English, and minimal case markings.
There are exceptions here: Icelandic, Norwegian, some dialects of Danish and formal Dutch preserve three genders (but don't inflect nouns for case). Conversely, the Baltic languages classify their nouns into two genders but inflect by case. You could also argue my question is a bit stilted because my "east-west" line circumnavigates Germany! (Maybe timezones give me a precedent for this misbehaviour!)
Another answer notes that "Questions of the form "Why?" in historical linguistics are not necessarily answerable, but we can try." So – I'm afraid I'd like to hear your thoughts on how this east-west distinction has come about!
More specifically, is it more plausible that
a. there's a sprachbund effect among languages in the various IE branches west of this line? (I'm aware of Standard Average European, but I'm talking about features local to "western" Europe, as per my definition above)
b. this is just random chance?