This accepted answer is incorrect or out-of-date w/r/t Google Chrome on Windows. This is where Google Chrome version "31.0.1650.63 m" actually stores the custom dictionary:
\Users\%USERNAME%\AppData\Local\Google\Chrome\User Data\Default\Custom Dictionary.txt
It's just a text file, with LF-only line terminations, and a list of words in case-sensitive alphabetical order, one per line. There's a checksum at the end, with no LF at the end of that line.
There's also a backup version, in the same folder, named "Custom Dictionary.txt.backup".
According to this
if the checksum fails to match in the regular version of the Custom Dictionary, and there's a backup version with a correct checksum, Chrome will silently discard the regular version and revert to the backup version.
Maybe that's be why Chrome keeps losing my custom dictionary words. :-(
So I think if you want to edit the custom dictionary file (e.g., to remove misspelled words), you'll need to delete the backup version, to prevent Chrome from reverting to it. (Note: I've not actually done this.)