Okay, here's the crash course on BH for corners.
Disclaimer: Most of the people reading this would probably better off watching a 3-style youtube tutorial from NoahCubes, J perm, Jack Cai or Timothy Goh than learning this stuff. I'm just putting the information out there so you can make your own choice as to what you want to learn.
This assumes some familiary with commutators, J perm's tutorial is probably sufficient.
The premise of BH is this fact: if you get rid of mirrors, inverses, rotations, mirrored inverses etc there are only 15 unique corner cycles. If you learn how each of these 15 work in terms of commutators, you can do any 3-cycle on the the cube efficiently.
Here are the 15 cases and their HTM optimal solutions:
Pure commutators (8 htm)
These are a three move insert with a one move interchange. Everything other than the Per specials and Cyclic Shift are a setup to one of these cases so make sure you understand these well.
[R U' R', D]
[R' U' R, D]
[R U R', D2]
[R U' R', D2]
[R U' R', D']
[R U2 R', D']
Cyclic Shift (10 htm)
The commutator part of the cyclic shift is a sledgehammer insert with a D2 interchange. If you expand [R' F R F', D2], it reads as
R' F R F' D2 F R' F' R D2. After adding the setup moves from the full alg, you get R F' D2 F R' F' R D2
R' F, which is just the alg, but with the first two moves copy pasted to the end. This is why it's called a cyclic shift.
[F' R: [R' F R F', D2]]
Columns (11 htm)
This case is a one move setup to an A9
[U' R2: [R U2 R', D]]
Orthogonals (10 htm)
These cases are a one move setup to a pure commutator, with no cancellations
[F': [R U2 R', D']]
[F: [R U2 R', D']]
Per Special: (12 htm)
The moves R' D2 L D2 R is simply the shortest way to insert UFL into DFR. The interchange is a simple D2
[R' D2 L D2 R, D2]
A9 (9 htm)
These are a one move setup to a pure commutator. Since it's possible to set up to many pure commutators, it takes some trial and error to figure out which setup yields a cancellation. Personally, I think it's easiest to just memorize the four cases here.
[R: [R U2 R', D2]]
[R2: [R' U2 R, D]]
[R2: [R U R', D2]]
[R2: [R U2 R', D]]
Keep in mind every 3-cycle case can be viewed in multiple ways, for example UBL-UFR-UBR is the same as BLU-FRU-RBU as well as LBU-RFU-BRU
To make it easier there are a number of simple rules you can use to tell what type of case you have:
Pure Commutator: two stickers are interchangeable by one move. The third is in a different layer and can be inserted into the other two in three moves.
Cyclic shift: all the stickers are on one layer, however it's impossible to interchange any sticker with the other in one move (htm)
Per special: all stickers lie on parallel planes and are on corners which are √2 distance away (ie diagonally apart) from each other on a unit cube.
Columns: two stickers are interchangeable by a 180 degree turn, and the third is on a different layer. However it's not possible to insert the third into the two interchangable pieces in 3 htm. (make sure it's not a per special first)
Orthogonals: all stickers are on corners which are √2 distance away (ie diagonally apart) from each other on a unit cube, but none are interchangeable in one move
A9: If it's none of the above.
So once you classify the case, you should know the type of setup, insertion and interchange required, and also the minimum number of moves required to solve it - this will allow you to solve the case in the optimal number of HTM moves.
For edges, I never learned BH so I will refer you to these pages:
Link 1 Link 2 (there are 27 cases for edges). I've never heard of anyone who actually learned BH for edges though - usually I think people find it easier to find fast efficient algs intuitively for edges.