I had the impression that the line is if the code works or not
code does not work (i.e. has bugs or does not compile) -> SO
code does not exist (i.e. not sure where to begin) -> Programmers
code does work (but may not be the best) -> CR
now there may be a grey line between "working code" and "semi-working buggy code", but I think that's a different line than what this question is about.