Getting the bricks and lego items you need, might be a challenging and expensive task.
Lego's online shop : https://shop.lego.com/en-BE/Pick-a-Brick
You can get quite a few bricks but unfortunately not all items can be obtained. When your cart is above 55€, shipping is free. The unit prices for the bricks are known to be a bit more expensive compared to other channels.
Bricklink : https://www.bricklink.com
Similar to Brickowl but slightly bigger : a platform where individual shops offer lego. The functionalities of this platform are different from Brickowl, but the prices seem to be even lower as you will find a lot more dealers.
For big orders, you will probably buy with with different shops. As there are additional shipment and sometimes handling fees, you might want to limit the number of shops where you want to order. The disadvantage is that you can not compare prices for shops where you already bought items; you can only compare prices between shops based on their location. There is no indication in the listing with shops (under a specific item) that shows a remark if you already bought with them, a pitty.
Another problem with Bricklink is the ordering-procedure. There is no real structured way in handling the orders. You will first receive an invoice, before you pay. That invoice often does not always contain handling and shipment-fees. Some shops provide an accurate invoice, others don't. While orders are processed, you are supposed to wait your payment as the weight often determines the shipment cost to pay. That additional cost can only be calculated when the order has been processed. Here is the annoying part : some shops only process and pick your order after you paid first. If you order with different shops, good luck on trying to figure out when to pay and how much you should pay.
A third problem with the platform is the auto-buy function. It will certainly not offer you the cheapest rates for an item ; it just picks items from shops that have sold a specific item several times. It might be time consuming, but buy your items one by one and you might save up to half of your money or more. I did the exercise for both : 839 euro's with auto-buy resulted in 293 euro's by picking items myself. However, it took me 5 hours to buy the items. Very time-consuming, but you save a lot of money!
Besides the disadvantages, the prices are sharp on Bricklink as there are more participant shops and competition thrives prices downwards. Also, you can download contents of your orders to the desktop-software called Brickstock, that will help you to manage your lego inventory.