Gnome feels very anti Unix philosophy.
Either way, many package managers provide groups or patterns to make it easier for an end user to maintain their system. Pacman does have such a feature.
Look, for example, do you prefer to be able to install SDDM just because you like the themeing capabilities, and be able to do so, with just the bare minimum packages; or, install GDM and having to pull the whole GNOME DE as a requirement?
It's purpose is to provide and manage account information for applications that need it, so the user doesn't have to configure their email, calendar, whatever, in each application separately. With each application storing passwords in a who knows where, or each implementing their Gmail OAuth.
So it is quite logical, that application that uses accounts will also need gnome-online-accounts.
'Do one thing and do it well` -- how is that anti Unix philosophy?
GNOME has a keyring system service for storing passwords, so it's not necessary to get the entire desktop shell to access the keyring.
GOA is for storing account information: e.g. you configure your Gmail/nextcloud/whatever account once, and then all apps that need it can access it. So your Geary, Contacts and Calendar (separate applications) do not need each to implement account management and account specific auth flows -- not just passwords, OAuth is all the rage nowadays. And I, as the user, do not have to keep tokens in each app current.
It is also not 'entire gnome shell`. Just the required components.
here the required dependency list for control center on arch: accountsservice bolt colord-gtk4 cups-pk-helper gcr gnome-bluetooth-3.0 gnome-color-manager gnome-desktop-4 gnome-online-accounts gnome-settings-daemon gnome-shell gsettings-desktop-schemas gsound gtk4 libadwaita libgnomekbd libgtop libgudev libibus libmalcontent libmm-glib libnma-gtk4 libpwquality smbclient sound-theme-freedesktop udisks2 upower
Applications which are part of GNOME itself probably try to remain small and integrate well into GNOME e.g. Nautilus and Evolution. Applications which aren’t part of GNOME like Gimp or Geeqie rely only Gtk.
It just hurts if you want use a integrated GNOME-Application with a sole window-manager. That makes sense and we shouldn’t blame the developers for modularity and re-using.
I don’t know about Type-Ahead-Find in Nautilus, but typing to search in the file choosers is comically bad.
“Comically bad” here goes slightly beyond not working right to mildly destructive. I don’t know how the software pulls it off, but trying to open a folder found by Tracker search shows a nonsensical UI (no, I don’t want to “replace” the folder) and sometimes removes the x bit from the folder mode. I don’t even know how. A random chmod(2) call deep in glib? Why would the file chooser ever use chmod or fchmod?
GNOME makes often changes without long term strategy or asking their actual users. The removal of Type-Ahead-Find in Nautilus or background-transparency in GNOME-Terminal where mistakes. On the other hand new applications like Documents or Console required resources but provide no benefit over it counterparts. That said - Nautilus improved a lot in recent years and there are even patches available for Type-Ahead-Find (or Navigation). Same for background-transparency in the GNOME-Terminal. The separated top-bar-menus were also a problem (decoupling menus from application-windows was copied from Apple) but now reverted, they learn.
If the design team is aware of the usage and has a plan things fit well! The overview is great for keyboard and mouse users, the dash make simple things simple, they got rid of the useless desktop-metapher (copied from Win95) and also the system-tray (another thing from Win95). The keyboard focused use of GNOME is use core-feature, fast for experienced users and a relieve for novice users. The GNOME-Shell provided a good UI and removed many questionable ideas of the past.
Wishlist?
Decouple the release cycle of most applications from GNOME, excepting Nautilus and Settings. There is no need to couple Epiphany, Terminal, Maps, Calendar and so. Evolution already skips every second release. And feature-removal should require a good reasoning and not just „I don’t need that myself“. Many options are bewildering, many forks without merges are worse (lost developers and lost users).