Processors within the same family (e.g. Cortex M3) should have the same instructions, but different families have different instructions. The original ARM used a set of 32-bit instructions, then a version appeared which could switch between "ARM" mode and "Thumb" mode, with the latter implementing a smaller set of 16-bit instructions. A job which takes half again as many Thumb instructions as it would take ARM instructions will take roughly half again as long to execute in Thumb mode as ARM mode, but will fit in 3/4 of the space.
Many newer processors do not have any 32-bit mode, but some can combine two consecutive instruction words in such fashion as to yield most of the instructions from the 32-bit ARM instruction set, plus a few more. Note that some 32-bit ARM instructions are not implemented. The net effect is that there is no processor which can perform every ARM instruction; different ARM families have different sets of instructions available to them.