I’m still fairly new to Postgres having only started about 5 years ago. I started with Pg9.6 and we quickly moved that environment to pg10. When I arrived at this company, pg_dump was the only backup we were using. The DB at that time was still around 50GB, it was reasonable to do the backups in a timeframe that worked for us. A dump was done every night and stored off to another server. After some time we started to test Pg_basebackup. This allowed us to full server backup each night. It was a huge improvement as far as speed and ability to handle much larger data sizes.
Read on for the tradeoffs around tools and various thoughts from Pat.