There are two sites that I recomend for the buying of Bitcoins:
LocalBitcoins.com
LocalBitcoins.com has been around for years. Here you can see the reputation of the Bitcoin seller, then you start a transaction. Normally that requires you to transfer or deposit money to a bank account, then the seller send you the Bitcoins. At the end of the transaction both sides rate the other site, if you paid the money you will get reputation as a good buyer.
Of course, if you got Bitcoins you can use this service to turn those Bitcoins into cash, you would be the one receiving a bank transfer or deposit into your bank account, and then you are expected to transfer those Bitcoins.
They have an Escrow service if you want to be extra safe. What this service does is to receive the Bitcoins and the cash, and once it has both, it sends each side what they should get. If the transaction doesn’t work, if only one of the sides sends what it should send, then it is returned and the trade is cancelled.
This is the one that I recommend the most, I use it myself.
coinbase
This exchange is regulated, you need to verify who you are, and this means also a lot of safety. It is also for selling Bitcoins and transfer money to your bank.
Some precautions when trading Bitcoins
A recomendation here is, if you are selling Bitcoins, do not engage in transactions where the other side uses a payment method where he or she can easily get a refund (PayPal, Neteller, Western Union or similar). You will be out of Bitcoins and of money if the buyer claims that you did not send the goods so he gets the Money back. You will have no way to prove that you did, in fact, sent the Bitcoins.