Broadly a majority of the literature on edge detection algorithms and applications that uses edge detection, references Canny's edge detector. So much so that it looks like almost "the solution" to edge detection. Certainly, it would do the best job balancing noise and preserving edges.
However, as a simple curiosity, is there an area of concern for Canny's edge detector? or are there areas of applications where Canny will not be best?
In this context, faster implementation is not really concern. The focus of edge detector being good or bad should be the quality and utility of edges generated.
Also, I am really not focusing on implementation specific issues. I am looking for more theoretical limitations or characteristics inherent in the algorithm.