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.
Bothered by SLOW Web UI to manage vSphere? Want to manage ALL your VMware vCenters, AWS, Azure, Openstack, container behind a SINGLE pane of glass? Want to search, analyze, report, visualize VMs, hosts, networks, datastores, events as easily as Google the Web? Find out more about vSearch 3.0: the search engine for all your private and public clouds.
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.