there is only one disadvantage: the markov chain support is limited to the mask-based attack types (-a 3, and the mask part of -a 6, -a 7).
So if you want to run a dictionary (-a 0 for instance), hashcat will still use the order of lines basically unchanged (well, it could come to some mix and different order because of parallelization across different OpenCL/CUDA devices) when running a wordlist-based attack (-a 0, -a 1 and also no change for the *words* in -a 6, -a 7, but -a 6 and -a 7 will use markov too for the mask).
That means, sometimes an external tool could make sense if you want to change the order of words in a dictionary file due to priorization of some words (pre-computing a "slightly" modified wordlist where only the order of lines is changed).
So if you want to run a dictionary (-a 0 for instance), hashcat will still use the order of lines basically unchanged (well, it could come to some mix and different order because of parallelization across different OpenCL/CUDA devices) when running a wordlist-based attack (-a 0, -a 1 and also no change for the *words* in -a 6, -a 7, but -a 6 and -a 7 will use markov too for the mask).
That means, sometimes an external tool could make sense if you want to change the order of words in a dictionary file due to priorization of some words (pre-computing a "slightly" modified wordlist where only the order of lines is changed).