Derrel, thats what i dont understand. I thought pixel is pixel. They both have the same amount of pixels but they have different MB size? I always thought the size of a jpeg file is determined by the # of pixels.
JPEG compression works by
not storing every single pixel - basically it stores enough information to allow it to "rebuild" the full image when it's decompressed. Therefore, the more information you store (higher quality), the better the rebuilt image will be. At lower quality levels, you're basically letting the software make an "educated guess" at the missing information, so even though you end up with identical resolution, you lose detail.
This is far oversimplified, but you can think of it like this: if you have a block of 10 red pixels, you can either store the value "red" 10 times (store the value of each pixel), or you can store the value "red" and a value that says to repeat it 10 times. That would be what is called "lossless" compression: all the information is retained, but with less data needed to actually describe it. JPEG compression goes a bit further than this, however, and for example if you had red, orange, and yellow pixels all in a row, it might save just the red and yellow pixels and when you open the file later, it calculates that the most likely pixel color to go between them would be orange.
That's not precisely how it works, but it should be close enough to answer your question.

If you want to see it in action, take a couple pictures of the same thing at different quality settings and then view them on your computer zoomed in to 200% or so.