After checking on sjp.pl:
sprawa is the most common word for "matter", "issue"
zagadnienie is like sprawa, but requiring more consideration and discussion
kwestia is like sprawa, but requiring solving or fixing
But those are minor differences and I am not necessarily sure sjp.pl's definitions adequately reflect the actual usage. I guess you can consider them to be synonyms.
Other more or less synonyms are temat, problem, wątek.
The one other difference is that zagadnienie is practically never joined with another noun in genitive to mean "the issue of X".
- "Sprawa" literally means 'case' or 'matter' (an instance of a problem). Generally it's more or less an everyday thing you have to deal with. For example "Muszę załatwić tę sprawę" = 'I have to deal with this matter'.
- "Kwestia" is similar to "sprawa", however in my opinion it is more formal, like for example "kwestia życia i śmierci" = 'matter of life and death'.
- "Zagadnienie" means more than "kwestia" and is more formal than "sprawa". It means something wider, like 'issue'. For example "Zagadnienie zmian klimatycznych" = 'Issue of a climate change'. You can also say "Sprawa zmian klimatycznych", but this is less formal.