A Double Bull Spread consists of 4 options on 4 different strikes for the same expiration. In simple terms, you are trading 2 vertical bullish spreads in the same expiration -- first, you buy an out-of-the-money call spread for a debit, and then you sell an out-of-the-money put spread for a credit. Your outlook is that the stock will go up enough to make the call spread expire in-the-money. You are selling the downside put spread to help finance the cost of the call spread. There's more downside risk exposure than you'd have if you just bought a bullish call spread on its own, but it should be limited.
It's possible to establish the strategy for either a credit or a debit initially, but both amounts would be relatively small.
In the diagram, you're buying the call spread with a long call on strike C and a short call on strike D. The put spread would be buying a put at strike A and selling a put at strike B. Usually, the distance between strike A and B is the same as the distance from strike C to D.
Assume a stock with current price of $100. You buy the $105 strike call for $3 and sell the $110 strike call for $2 (the debit call spread would cost you $1). Then, you sell the $95 strike put for $4 and buy the $90 strike put for $2 (selling the put spread for a $2 credit). The entire transaction brings a net credit of $1. If the stock goes to $110 or higher, you'd reach your max gain of $6 (the call spread would then be worth $5, plus the $1 initial premium received). If the stock falls below $90, you'd be at your max loss of $4 (the put spread would cost you $5 to buy back, but you received $1 initially). If the stock price is between $95 and $105, all the options would expire worthless and you keep the $1.
You would use the strategy if you are bullish on the stock by expiration and have a price target. You are selling a credit put spread, so your expectation is that there is low risk of the price going below your put strike, but you are limiting your risk to a set amount if the stock tanks unexpectedly.
If you establish the strategy for a net credit, the break-even point would be to the downside, and it would be equal to the short put strike (strike B) minus the amount of the initial credit.
If the strategy is for a net debit, then the break-even point would be to the upside, equal to the long call strike (strike C) plus the initial cost of the strategy.
The maximum gain on the strategy is capped, and is equal to the distance between the call strikes (strike C and strike D), plus any initial credit received from establishing the strategy. If the trade was for a net debit, then the max gain would be the distance between the strikes minus that cost. The max gain is achieved when the stock price goes above the upper call strike (strike D).
The maximum loss on the strategy is limited to the difference between the put strikes (strike A and strike B), minus any initial credit received. If the strategy was established for a net debit, then the max loss is the difference between the strikes plus the initial cost. The max loss is experienced when the stock goes below the lower put strike (strike A).