tl;dr: Foreign Data Wrappers (FDW) provide 99% of the same functionality, but with even more flexibility incl smart query optimizer support.
That is far too optimistic, IMHO.
FDW are a great way to access external data sources, but it lacks proper support for visibility and transactions, and so on. Also, the FDW API follows the "tuple at a time" execution model, which prevents a lot of optimizations in the upper part of the stact (vectorized execution etc.).
There are several products using FDWs to change storage, but I'd call it a misuse of a feature designed for very different purpose.
IMHO it's hardly a way forward without significant changes/improvements (which may happen, I don't know).
Some earlier (2013) discussion on the same topic: https://wiki.postgresql.org/wiki/2013UnconfPluggableStorage