What exactly are the files . and .. on mac?
Technically and practically, they represent directory entries for the current directory (.) and the parent directory (..), respectively.
So cd . always keeps you in the current directory (useful mainly in scripts when a directory is assigned to a variable and the value should represent just the current directory), whereas cd .. always takes you one level up (unless you are already at /, in which case .. is the same as .).