Normally MMS is limited to 300kb.
When you send an MMS, your phone (iPhone or not) will send it at the maximum size that it thinks is possible.
On the iPhone, that can be seen in: Settings > General > Network > Cellular Data Network under "MMS Max Message Size".
If you try and send a photo (or other type of media) above this size, the phone will either lower the quality of the content or give you an error.
The phone then sends the message to your carrier's MMSC (Multimedia Messaging Service Centre). It is then forwarded to the recipient's network's MMSC.
That MMSC then notifies the recipient's device that there is a new message to collect.
The device connects to the MMSC using a data connection, and as part of the connection process, the MMSC identifies the capabilities of the device (through a User Agent string) - e.g. can it receive the type of content in question, what is the maximum size of image that the device supports.
This is really the key step in determining the quality of the received image. If the receiving phone only has a low resolution display, the phone will only get a low resolution image.
If the MMSC doesn't know (because it doesn't recognise the User Agent string of the phone) what the device can receive, it'll usually default to the lowest quality setting (usually 160 * 120 pixels).