Instead of time slices allocation by CFQ, BFQ assigns budgets. Disk is granted to an active process until it's budget (number of sectors) expires. BFQ assigns high budgets to non-read tasks. Budget assigned to a process varies over time as a function of it's behavior.
Advantages
Believed to be very good for usb data transfer rate. Believed to be the best scheduler for HD video recording and video streaming. (because of less jitter as compared to CFQ and others) Considered an accurate i/o scheduler. Achieves about 30% more throughput than CFQ on most workloads.
Disadvantages
Not the best scheduler for benchmarking. Higher budget assigned to a process can affect interactivity and increased latency.