All TODO's need to be addressed at some point, if it's "urgent" I tend to address it then & there. My main reasoning for using TODO is to manage technical debt by pointing out areas that need work.
By that logic all TODO's represent potential issues, all roughly in the realm of code quality. TODO's who's comments include phrases like "awful mess" or "remove this ugliness" are of a higher priority.
See also my comment on datatogether/archive#16
From convo in #2 and @b5: