AFAICT it's a way of issuing your own coins/tokens, which people pay for (usually in ether) and they generally act as a sort of share of the enterprise they are funding - promises of profit sharing etc are usually there. Many seem to be rather worthless, and some ideas have apparently achieved masses of funding based on some buzzwords and a white paper. These tokens can then be traded, with values dictated more by hype-cycle than the actual progress of any product.
IMHO it's part of the current trend of reinforcing and amplifying the wealth of those that already hold crypto-currencies and are already plugged into the scene. Witness the BCC fork a few weeks ago now ICOs, etc.
Bitcoin is too hard to come by. You have to spend money and electricity to mine it. So people are thinking, hey, why don't we create a new crypto coin, ShiningCoin, using the available crypto infrastructure, like Ethereum. And let's set aside 1 million ShiningCoin as the initial coins, before mining the rest. Voila, we just got 1 million coins without spending the money and effort to mine them! Ok, let's offer 100,000 of those initial ShiningCoin to investors to fund our development effort to build up ShiningCoin, promising them with huge growth in ShiningCoin value ahead; everyone knows crypto currency only goes up, right? We'll ask investors to pay 1 Bitcoin for 1 ShiningCoin. We then got 100,000 Bitcoins (or 100K X $4000/bc = $400 millions) at the Initial Coin Offering. Yeah, we're rich!
That's basically how ICO works.