Image graining is due to the small camera sensor. That is a perfect example that megapixels (mp) means nothing. A really large sensor will make the camera really big but will capture a massive amount of low light giving you a sharp crisp low light picture as you see it in real life. That is why DSLR cameras will always be superior to smartphone cameras. As they have the room, and the target market has the money to spend on large image sensor. This is also one reason why filming cameras at the professional scene are so big.
Another element is that on iPhone, and all high-end phones, the camera software does a lot of post-processing where it tries to adjust the image to make it look better than the original shot. The camera app under Windows 10 does none of that. It is up to the drivers to do the work, which you can expect cameras from the high-end Lumia line to do for Windows 10 Mobile devices, but not the camera of the Surface line, or your laptop camera and so on. This is basically a cost cutting measure, and seen as "not needed", as cameras on tablet and laptops, or webcams on PCs are seen to be used for video chat like Skype, so the best image quality is not really needed as the video feed gets compressed in any case, unless both sides are close together and runs on really fast internet connections.