Stable if you want stability, meaning it doesn’t change often (minor updates only).
Testing if you want newer packages that have at least gone through some level of testing. They’ve been in unstable for at least 3-10 days with no major bug reports.
Unstable/sid if you want to assist the Debian project by reporting bugs (which is always appreciated!), or want the “breaks all the time” experience of other distros.