The generalization of meta transactions responds to the problem of user onboarding on Ethereum applications.
What's the problem with gas ?
Gas is the execution fee for every operation made on ethereum.
Short and simplified explanation
Your future users don't care about Blockchain, keys and gas. It's up to you to provide solutions to abstract the Blockchain complexity.
To keep the benefits of a decentralized system, the solution must guarantee these properties (by @cooganbrennan):
non-corruptibility: you know the data has not been tampered with
identity: you know the transaction is definitely from the person who sent it
non-repudiation: the person who sent it can not rescind the transaction later
A possible solution: off-chain message signing for on-chain use.
Deploy for each of your users a smart contract which will be their identity on the Blockchain.
The "identity smart contract" will only execute transaction if the signature comes from address authorized by the identity owner (your user).
The user can prove his intent to take action by signing a message on client-side (mobile app or browser for exemple) (no gas needed to sign a message).
Who relay the message to the identity smart contract?
It is a question of economic incentive, if you are ready to pay the cost of the transactions of your users, you will be in charge of creating the transaction "envelope". It will contain the transaction to be performed by the identity smart contract.
Initiatives exist to create and remunerate a network of relayers in order to limit the centralization created by the generalization of meta-transactions.
Some good (live) solutions
Some applications like Argent.xyz have perfectly used the principle of meta-transactions, the details of their implementation are available here - I think that this is the main reason for their success, they finally make services based on the Ethereum Blockchain accessible to everyone.
Available API to go fast
Finally (disclamer, I'm the CTO of Rockside.io) even if meta-transactions are a bit of a magic solution for end users (good trad-off between usability and decentralization) their implementation remains complex for developers so we tackled this problem.
According to the use case, we have created a very simple API to create smart contract identities and manage meta-transactions. Feedback is welcome and appreciated!