Currently the GUI wallet provided by Core is awkward to use: There's no backup warning, so the user is often confused. Change-screwups like #11827 could happen over and over again. Offline/multisig transactions are also difficult/impossible (since Core uses hardened HD path, which made xpub useless). Sending/receiving address list panels are confusing (#15230).
What the wallet should look like in my humble opinion: The address list panel should contain known recipients only. The receiving address list panel might be merged with the coin selection panel, which has a clear hierarchy tree view, thus HD-derived addresses and imported single privkeys would have clear distinction. Different script types could also be elegantly handled. The user would also benefit from clear backup warnings, change-screwup would become history. It would be even better if PSBT and xpub importing could be supported, so that multisig/offline transactions would be easy.