Author here - the catch is that the data you store and serve is usually not as rich and complete as Google's, of course.
The solution as described in the post is for serving tile archives, and where you get the tile archive is up to you - I have a commercial offering (and am working on an open source one too), and there's various other FOSS projects for tile creation.
PMTiles looks excellent, I think the range request idea will go far.
Just wanted to let you know that the "Live Example Page" link on the page seems to 404.
There isn't a catch. If you only want to serve map tiles, this is the cheapest way to do it.
If you want fancy features like being able to use a UI to make custom map styles, vehicle routing and satellite overlay, then MapBox and Google are still your friend.
As the developer of this system, I concur with this; Protomaps is focused on map tiles, and can be used with other solutions such as http://geocode.earth for search.
A small detail: I don't believe this is the absolute cheapest way to deliver map tiles. Renting an unmetered bandwidth server is always going to be the cheapest way to host content, but unmanaged servers don't give you SSL termination, infinite storage, or an edge cache.
Protomaps is designed as the right compromise between self-hosted operational+development costs and SaaS-like delivery.
If you have any geospatial data, you can tile it with tippecanoe [0], which gives you an mbtiles file. Protomaps lets you easily convert the mbtiles file into a protomaps file which you can then use.
Protomaps doesn’t limit you to any particular type of tiles, it’s just a format which allows you to read tiles out of a single file with HTTP range requests.
The Mapbox repo has an older version of tippecanoe; there's a newer version actively being improved by Felt at http://github.com/felt/tippecanoe , and they've also funded my addition of the Protomaps format (PMTiles) as a direct output. No conversion step required anymore!
I have tested Protomaps in of my project and I can say this is good as tileset datasource. E.g. if you already have some map data in your app and needs basemap to display under them Protomaps is your solution.
The catch is that you have to host it yourself (which is pain if you want to update it - otherwise it's just upload and forget).