To understand the purpose and benefits of SAF, one must understand when SAF is (inevitably) required.
Basically, SAF should only be used on Android 11+ for non-media files, as all Android versions can access media files without any problems. Up to Android 12, with READ_EXTERNAL_STORAGE permission, and from Android 13 onwards, with READ_MEDIA_IMAGES (_AUDIO, _VIDEO), provided that the media files were not created by the app itself since Android 11 and therefore must be located in one of the corresponding shared folders. In the latter case, storage permissions are no longer required on Android 11+.
To copy/move media files to any directory on Android < 11, WRITE_EXTERAL_STORAGE must be requested and granted. On Android 11+, media files can also be copied from /Download (e.g., even /Download/myImage.jpg to /Download/myImage2.jpg). These copies (media files) are then created by the app itself and can be modified, copied, moved, and deleted.
SAF is only required for media files if they were not created by the app and are to be deleted.
So, to copy all media files from e.g. /Download to a subfolder /Download/sub/, you list all media files in /Download and copy them all to /Download/sub/. This is done in a single step. Then you have full access (read/write) to these files without any permissions (on Android 11+).
When it comes to non-media files and Android > 10, that's exactly where SAF comes into play. (Unless the app requests and grants MANAGE_EXTERNAL_STORAGE permission.)
You can, of course, use the SAF process to access ANY file in Shared Directories. it doesn't have to only be a "non-media" file or a file not owned/created by your app. This means you as a developer only have to focus on one process, instead of multiple processes.
With SAF you do not have to mess around with or figure out or get hung up about (or decipher a complicated diagram) the permissions/locations required for various Android versions, you can just get access to the file/s you need when you need them, using SAF.
As I've already explained in detail, there are no access restrictions for media files on any Android version. Therefore, SAF isn't necessary in this case. Period. Hence my statement that SAF only becomes relevant starting with Android 11, and then only for non-media files.
In this context, the question arises: Should access then be enabled via SAF on all Android versions starting with Android 4.4 (KitKat)?
The problem would still exist for Android 2.3–4.4 (i.e., without SAF).
If I had created the app before Scoped Storage was introduced, I certainly wouldn't have enabled access via SAF (why would I?). So I would have to adapt the app for all users, not just for users on Android 11 and above.
In short: If SAF can be avoided, of course it should be avoided.
My point is that just because other methods are available, it doesn't mean you cannot/should not use SAF to access files, it just means there are other methods available to do much the same.
Do we agree that you want as little user interaction as possible to access files? If so, then you know why my statement is the way it is.
Before Android 6, storage permissions were granted at install time, so the user no longer had to interact with them afterward. Starting with Android 6, the user only needs to grant the corresponding permission once at run-time and never again.
Not necessarily. It will depend on how the developer want their users to access files, for what purposes, and the condition/state of the files to be accessed.
No one (especially not me) has ever claimed that it isn't possible to access files via SAF since Android 4.4 (API 19, KitKat) (similar to the FilePicker component).
The difference, however, is that with Google's introduction of Scopes Storage—since Android 11—SAF is mandatory for non-media files that weren't created by the app.