Big-market teams can't always contend for titles because money isn't the the advantage it used to be. Between the salary cap, maximum individual contracts and the media pressure that no longer allows for great players who don't have rings, players have more incentive than ever to join up together. LeBron James and Dwight Howard are the two biggest examples of players turning down money to improve their situation. The root cause of it is owners and general managers who don't know how to scout/draft, because nobody wants to be The Big Ticket in Minnesota or LeBron James in Cleveland. European football teams don't have to contend with salary caps or other artificial rules to keep leagues competitive.
Competing for a championship simply means getting the horses and doing what it takes to keep the horses. Getting those players is largely a matter of luck and the right ping-pong ball (which actually encourages teams like Boston to sell) and using that to set up a a great situation to attract free agents. If those things don't happen, most teams aren't going anywhere. (which is true about the NBA)
The smart team like Boston finds a sucker like Brooklyn to purchase bad assets and contracts (the big 3, who at this point, aren't winning a title). That team still has a young player in Rondo that they can pair with a top player from the upcoming draft (assuming they tell Rondo to sit to make sure they're horrendous). Those two players combined with a top free agent means Boston's on the way back up. Of course it takes luck for that to work (like Wiggins or whoever no being a total bust), but that's what the model encourages.
OKC is the biggest example in recent memory of team that prioritizes money over competing for a title even though they actually had the players, and that was monumentally stupid.