It was eye opening for me. In every traditional codebase I worked on, this is usually handled is such a slow and messy way, adding another layer of filtering on top of already slow and complex queries. This is always one of the first things that needs to be cached in Redis. Instead, row-level security solves the problem in a very elegant, simple and performant way in my opinion.
Obviously it works better when all your logic is already at the DB level (e.g. PostgREST). I wouldn't imagine using DB roles and row-level security in a traditional backend where all the logic is at the application level (e.g. Django, Rails…). Edit: seems like there are workarounds to use RLS with Django [3].
[2] https://postgrest.org/en/stable/auth.html#roles-for-each-web...
[3] https://pganalyze.com/blog/postgres-row-level-security-djang...
By absolute user count I'd definitely expect most to not have it but only because most accounts aren't regularly used (many even abandoned).