OVF stands for Open Virtualization Format, a platform independent, extensible packaging and distribution format for virtual machines. It’s now a DMTF standard.
VMDK stands for Virtual Machine Disk, a format that encodes a single virtual disk for a virtual machine. It’s proprietary by VMware but whose format is publicly documented by the company. You can use VDDK to manipulate the VMDKs.
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
To package VMware virtual machines, both OVF and VMDK are needed. OVF includes metadata that describes the configurations of virtual machines, including CPU, memory, network, references to virtual disks, etc. Its content is very much like that of one or multiple .vmx file, and pretty small in size compared with disk images. VMDK has everything of a hard disk image and mostly huge in size. To package virtual machines for other hypervisors, you might need other disk formats like VHD from Microsoft.
Although OVF is platform independent, it does not mean you can import/export an OVF package with any disk format. For that, you may need converters, either standalone or built-in, that convert the images before importing or exporting.
Besides the vSphere Client, VMware has shipped OVF Tool for managing OVF packages. Check out here for more details.