..., да? — "right?" ("is it true?")
..., так? — "right?" ("did I understand you correctly?")
The difference is that да? seeks to confirm some prior knowledge, guess, or suspicion, while так? generally double-checks the speaker's comprehension.
..., не так ли? — generic "doesn't it?" (and other forms)
..., а? — not quite sure it belongs with the others. You can add it to requests to signify insistence/pleading (ну пойдём, а?), to things that are formally questions, signifying either impressiveness (как мы их обогнали-то, а?) or frustration (что за чертовщина, а?), and to actual questions, signifying impatience (вы вообще инструкцию читали, а?) — but it doesn't work as something you can tag on to a statement to turn it into a question.
I'd add another one:
..., правда? — the sort of "doesn't it?" that prompts to agree with the speaker on some point expressed in or related to the statement.