For practical purposes, there are interchangeable.

However, for certain specific situations, one may be preferred, only preferred, not mandatory over the other.

還沒 is used when it is a bare, neutral statement / comment on someone not asleep yet. 

還不 is used when it is questioning / accusative of why someone is not asleep yet when ought to be.

So, you have:- 

很晚了,你还没睡

明天去上学你还不睡

However, no one will say you are absolutely wrong if used interchangeably.