I think it's working. Lets look at the 3 goals you identified:
1: Distribute top talent fairly to all teams: The best teams (those in the playoffs) won't get better than the 16th pick. They presumably already have top talent. Non-playoff teams all get a chance at the very top talent. They presumably lack some of the top talent of playoff teams, and the worst teams get way better odds at winning. also, the worst that can happen to the worst teams are picks 4-6, which are still top talents.
2: Create parity by making the worst teams better: That one might be a bit of a miss, but I think point 2 and 3 somewhat contradicts themselves. But the worst teams still get to pick players at worst in the top 6 like in my previous point. Picking at worst the 6th best rookie in a draft should eventually get you somewhere, the rest is on management.
3: Discourage tanking: I believe the lottery does that pretty well. For example in the case of a McDavid's talent at #1, you'd be super happy to have the best odds to draft him. But will you intentionally tank for a less than 1/5 chance at McDavid?
All in all, I think the lottery makes it so GM's need to be constantly working hard to improve their teams without relying on an exceptional rookie to come along (invest in scouting, development, trades, etc.), but it also distribute talents fairly enough that if they are in a rough patch they can bet on drafting a quality player to help the rebuild (and aim the team in that direction).