It does and it does not. Example:
In the home directory: (only one user exist)
du -sh /home/*
in the user directory: (huge difference between the sums)
du -sh *
and the reason is:
du -sh /home/user/.rvm/
du will calculate hidden directories while descending into subdirectories, but in the current directory the * simply does not match to .directory_name pattern so the current directory hidden elementes will be omitted.
It took me some time to figure out, and as shadyabhi recommends it would have been obvious if i had used ncdu.