What is the difference between Instance variable of Action and Slot

class MyAction(Action):

def __init__(self):
    # key: sender-id, value: variable values
    self.store = {}

def run(self, disp, track, dom):
    sender = track.sender_id

    # case 1
    data = self.store.get(sender)
    value = data["location"]

    # case 2:
    value = tracker.get_slot("location")

What’s the difference between Case 1 and 2? Can I use Case 1 instead of 2? – ignoring that self.store cannot be used in Policy