FIWARE is not a platform you buy, it is a set of open pieces you assemble: the Orion Context Broker holds the current state of everything, the IoT Agents translate device protocols into NGSI, and a database keeps the history. You get a standard and no lock-in, and you also get the job of running it. Cloud Studio IoT is the other trade: dashboards, alarms, users and reports already built. Plenty of projects end up using both.
FIWARE usually stays for the standard: city platforms and consortiums that have to publish NGSI data. The platform is where the daily operation happens.
A gateway that already speaks MQTT can publish to your instance and to an IoT Agent at the same time. No device gets touched twice.
The data extraction APIs return readings, alarms and endpoint data over HTTP, which is enough for a scheduled script to create entities in a Context Broker.
Whichever direction you choose, choose one. Two systems writing the same entity is where these projects turn expensive.