For a Virtual Machine to load under Fusion, you must actually open VMX file. Fusion reads this file and depending on the configuration defined in this file, additional files will be created ( example vmem, , logs , lck files etc ).
VMDK files are virtual disk files of a Virtual Machine. Its comparable to a real hard disk of a real machine. Whereas .vmwarevm is the entire package which represents the Virtual Machine. vmdk is part of the vmwarevm bundle.
as a best practice, its good to keep the vmdk files in same location as that of VMX file ( usually within a vmwarevm bundle or a folder)