Theres a limitation in hardware that makes it faster to handle items that have values divided by 2 (better yet 4 8 or 16). Thus most codecs rely on this fact, and cant compress a non dividable by 2 content (theres a seconday reason for this becasue they need to be stored in sub block of some kind you need top be able to accurately slice images up into sub parts odd numbers dont divide with powers of 2 and integer math cant have that , the speedup is actually VERY significant!).
Idea is to add one slice of black or remove on row to even the result out (it does not insignificantly impact your result, but makes it much faster to work with). MPEG is off course geared towards video so it does not make sense to allow it to do other sizes than standard. All other codecs can do noiseless compression its jus ta matter of finding the right balance of compression/size.
Normal dvd players off course ONLY support the standard sizes. Because thst is the whole point of TV, the resolution is fixed any nonresolution need to be interpolated wich is a bad bad thing!