FDWs aren't really that layperson-friendly: to set one up, you need to run a lot of SQL boilerplate like CREATE FOREIGN SERVER, CREATE USER MAPPING and CREATE FOREIGN TABLE. We wanted to make them more accessible through our sgr mount [2] command and snapshottable via Splitfiles (e.g. [3]).
The point about data types changing is also a good one. Where the foreign data wrapper doesn't implement IMPORT FOREIGN SCHEMA [4] through introspection on the foreign database side, you have to enumerate all columns and types in CREATE FOREIGN TABLE. If a column on the remote table goes away, the FDW might still query it and cause runtime errors.
[0] https://wiki.postgresql.org/wiki/Future_of_storage
[1] https://github.com/citusdata/postgres_vectorization_test
[2] https://www.splitgraph.com/docs/sgr/data-import-export/mount
[3] https://www.splitgraph.com/docs/ingesting-data/socrata#split...
[4] https://www.postgresql.org/docs/current/sql-importforeignsch...