To answer your second question first, advantages for using server would be sharing the information with others so they can "compete" or "praise" the other leaders. You may also have a website and community to build a following and the leaderboard (kind of like this site with points) helps drive more activity and stickiness/loyalty.
The first question, you might look at the Set structure or Ordered Set structure in a fast storage solution like Redis. Check out these articles for examples:
The question you'll need to ask yourself is whether you want to do it all on the device, or client/server and that will determine your solution. You could have a list of "events" that occur and every event has a "type" (i.e. collected coin, completed level quickly, killed enemy) and this could be on server or device. You could then have rules to test "rules" and tally up those events to unlock more levels, features, or perhaps only then post some recognition for that user on your server (saving network bandwidth only when matters).