There are many kinds of duality. The kinds most relevant to elementary polyhedra are polar reciprocity and topological or abstract duality.
Even when a pair of polyhedra cannot be obtained by reciprocation from each other, they may be called duals of each other as long as the vertices of one correspond to the faces of the other, and the edges of one correspond to the edges of the other, in an incidence-preserving way. Such pairs of polyhedra are still topologically or abstractly dual.
More generally, for any polyhedron whose faces form a closed surface, the vertices and edges of the polyhedron form a graph embedded on this surface, and the vertices and edges of the (abstract) dual polyhedron form the dual graph of the original graph.
Every geometric polyhedron corresponds to an abstract polyhedron in this way, and has an abstract dual polyhedron. However, for some types of non-convex geometric polyhedra, the dual polyhedra may not be realizable geometrically.
Topologically, a self-dual polyhedron is one whose dual has exactly the same connectivity between vertices, edges and faces. Abstractly, they have the same Hasse diagram.
Every polygon (that is, a two-dimensional polyhedron) is topologically self-dual, since it has the same number of vertices as edges, and these are switched by duality. But it is not necessarily self-dual (up to rigid motion, for instance). Every polygon has a regular form which is geometrically self-dual about its intersphere: all angles are congruent, as are all edges, so under duality these congruences swap.