vtkUnstructuredGrid can represent any cell type, including especially 3D linear and nonlinear cells.
vtkPolyData was originally designed to interface with VTK’s surface-based rendering subsystem, and for that reason represents 0D, 1D, and 2D cells, such as polygonal meshes.