A causal discrete-time LTI system is marginally stable if none of its poles has a radius greater than $1$, and if it has one or more distinct poles with radius $1$. So a system with poles at $z=1$ and $z=-1$ is marginally stable (if there are no other poles outside the unit circle).
A causal discrete-time system with all its poles strictly inside the unit circle is called asymptotically stable. If at least one of the poles is outside the unit circle, the system is unstable.
For anti-causal systems just replace 'outside' by 'inside' and 'greater than $1$' by 'smaller than $1$' in the above definitions.
For non-causal systems with two-sided impulse responses the region of convergence (ROC) is an annulus centered at $z=0$. Such a system is asymptotically stable if the ROC contains the unit circle. If the ROC is limited by the unit circle and if one or more distinct poles are on the unit circle, then the system is marginally stable.
In sum, we get the following ROCs for marginally stable systems:
- causal: $1<|z|<\infty$
- anti-causal: $0\le |z|<1$
- non-causal (two-sided): $1<|z|<R,\; (R>1)\quad\text{or}\quad R<|z|<1,\; (R<1)$
where in all cases it is assumed that all poles on the unit circle are distinct.