I buy Lego mostly for my daughter and her friends’ birthday gifts. There are 5 stores I usually go (both online and offline): Lego official website, Amazon (probably bought the most), Walmart (both online and store pickup), Target (online, free shipping with red card), and Toys R Us (both online and store pickup). Note in the online cases, I usually got the free shipping.
A ballpark for deal or not is see if the per piece price is 10 cents or not. For example, for an 100 piece lego set, a fair price is $10. If it sells below $10, then it maybe a deal.
Deals usually got sold out fairly quickly. I recall once in holiday season I had it in the cart, but I was a bit greedy in terms of using shopping portal (Discover Deal) and also tried to find a nearby Walmart store, during the process the lego was sold out. Today I learned my lesson, as soon as I saw the deal from dealsea, I click on it and ordered from Toys R Us. I actually bought two because a friend asked. This afternoon when I go to the store to pick up (btw, I feel the physical stores are in big trouble, as the parking lot was pretty empty at Mid-river Mall). The store clerk said they were a bit puzzled about two orders in the morning, I said they are both mine
I think Lego is good for kids toy because they encourage creativity, and in the case of I don’t know a kid’s hobby (for birthday present), a Lego set is a safe bet as it’s pretty liquid (they can give away easily).