Flash loans are a feature designed for developers, due to the technical knowledge required to execute one. Flash Loans allow you to borrow any available amount of assets without putting up any collateral, as long as the liquidity is returned to the protocol within one block transaction. To do a Flash Loan, you will need to build a contract that requests a Flash Loan. The contract will then need to execute the instructed steps and pay back the loan + interest and fees all within the same transaction.
Why do we need Flash loans?
Arbitrage: Traders can make money by looking for price discrepancies across a number of different exchanges.
Collateral swaps: Quickly swapping the collateral backing the user's loan for another type of collateral.
Leverage Trading: Short or Long an asset X on an exchange 1, buy or sell the same asset X on an exchange 2 does driving the price in your favor. Take a profile and pay back the original flash loan + fees. If executed correctly, the user ends up with a profit with no money invested.
Examples of Ethereum protocols that support flash loans:
Aave, DyDX, Bzx, etc.
Flash loans are still very much a work in progress; the flip side of their rapid adoption by the decentralized finance community is that they've been used to exploit vulnerable DeFi protocols and steal millions of dollars.