the first example you had it on bruteforce attack mode but didn't specify a mask
the second example, when -a isn't specified it defaults to -a 0 attack mode. failed because you didn't specify a wordlist
the third example you provided a mask but forgot to put it in bruteforce mode, -a 3
some attack mode examples:
* Attack modes:
0 = Straight
1 = Combination
3 = Brute-force
4 = Permutation
6 = Hybrid dict + mask
7 = Hybrid mask + dict
hashcatexecutable -a 0 hashfile.txt wordlist.txt
hashcatexecutable -a 1 hashfile.txt wordlist1.txt wordlist2.txt
hashcatexecutable -a 3 hashfile.txt ?u?u?u?u?u?u?u?u?u?u
hashcatexecutable -a 4 (never used it so don't know)
hashcatexecutable -a 6 hashfile.txt wordlist.txt ?u?u?u?u
hashcatexecutable -a 7 hashfile.txt ?u?u?u?u wordlist.txt
the second example, when -a isn't specified it defaults to -a 0 attack mode. failed because you didn't specify a wordlist
the third example you provided a mask but forgot to put it in bruteforce mode, -a 3
some attack mode examples:
* Attack modes:
0 = Straight
1 = Combination
3 = Brute-force
4 = Permutation
6 = Hybrid dict + mask
7 = Hybrid mask + dict
hashcatexecutable -a 0 hashfile.txt wordlist.txt
hashcatexecutable -a 1 hashfile.txt wordlist1.txt wordlist2.txt
hashcatexecutable -a 3 hashfile.txt ?u?u?u?u?u?u?u?u?u?u
hashcatexecutable -a 4 (never used it so don't know)
hashcatexecutable -a 6 hashfile.txt wordlist.txt ?u?u?u?u
hashcatexecutable -a 7 hashfile.txt ?u?u?u?u wordlist.txt