You are describing three different selection methods. Each method works independent of each other, you only use one at a time.
Border select - press B and then dragging with the LMB will give you a selection rectangle that will select items within it. Holding ⇧ Shift when dragging will deselect items within the border. Dragging with the MMB will also deselect. RMB or Esc will cancel the operation.
Circle select - press C and you are presented with a circle around the cursor, items within this circle when LMB clicking will be selected. Holding ⇧ Shift while clicking or clicking with the MMB will deselect items. The MW and the numpad +/- can be used to change the size of the selection circle. Circle select stays active until you cancel by clicking RMB or Esc.
Lasso select - holding ⎈ Ctrl when dragging the non-selecting mouse button (that is left click by default but is right click if you are using select with left) will activate a lasso that will select items within the drawn region. Holding ⇧ Shift while dragging will cause items to be deselected.
Note that border and circle select always select with the left mouse button and cancel with the right, this does not change with the Select With Left/Right setting.
The border and lasso select are temporary and only last for one mouse click while the circle select stays active until canceled.
All three add/remove to the existing selection, they do not replace the selection. You can use them repeatedly to gradually increase the selected items. Press A to deselect all before starting one of the above to create a new selection.