Odpověď na otázku proč jsou v nich díry je jednoduchá - píšou je lidé a lidé dělají chyby. Podobné chyby vídám v aplikacích psaných .NET, Javě a všech možných dalších jazycích. Jen ostatní aplikace nejsou tak rozšířené, aby dané chyby byly tak viditelné. Nicméně v principu ale máte pravdu - architektura samotná tomu moc nepomáhá a předpokládá, že ten, kdo dané rozšíření píše ví co dělá a používá prostředky, které mu WP nabízí například pro ošetřování vstupů - https://codex.wordpress.org/Validating_Sanitizing_and_Escaping_User_Data (a zde je další problém - mnoho tvůrců ani neví, že existuje Codex, kde jsou popsány zásadní best practices)
Bohužel si s sebou WP nese zátěž z let dlouho dozadu a to ohromnou snahu o zpětnou kompatibilitu. Jádro může být tak stěží označováno za moderní aplikaci. Problém kompatibility si my, kteří jsme zatím nenapsali systém, na kterém běží produkčně několik desítek milionů webů, nedokážeme ani představit. Profi vývojáři se pak WP vysmívají, že nemá pořádný šablonovací systém (který třeba zařídí ošetření výpisu uživatelských vstupů), že není MVC, nepoužívá composer, ..., ale kdo z nich tyto technologie před 6 lety používal?