Why are there two of them? What are the benefits and drawbacks of them, respectively?
The Pick-a-Brick selection has the more common pieces that aren't specific to sets whereas on Bricks and Pieces you can get set specific pieces that are more uncommon such as minifigure parts from a (non-licensed) theme. Since the Bricks and Pieces parts are more specialized they are usually more expensive than Pick-a-Brick, so don't get basic bricks from Bricks and Pieces.
Besides the previous answer, I would also add that Bricks-and-Pieces was intended to be a replacement service for missing parts, broken parts, etc. from a set you have bought. While Pick-A-Brick is for buying generic loose pieces. Thus the interface and they way to identify the parts you want, as well as the selection, is very different.
At Bricks-and-Pieces you can get free replacement parts for elements that were missing from your set when you got them. However since some people started to use this service to also get extra special elements that are not available at Pick-A-Brick, LEGO got proactive, and updated their Bricks-and-Pieces website to offer more options.
My guess is that at some point the two services (Pick-A-Brick and Bricks-and-Pieces) may get merged, but right now they are two different services with different intentions that simply got closer together based on how LEGO fans use them.
Adding a few extra observations:
- Purchases from "Pick a brick" are eligible for VIP points, whereas purchases from "Bricks and pieces" are not. VIP points can be redeemed on both Pick A Brick and Bricks & Pieces orders.
- Shipping fees are higher for "Pick a brick" than "Bricks and pieces". Make large purchases from the "Pick a brick" store to bring the shipping cost per brick down to a reasonable level (or make "Pick a brick" orders in conjunction with other Lego Shop purchases).
- You can at most select 100 unique elements from "Bricks and pieces". There seems to be no such limit for "Pick a brick".