Do you mean that the Ethernet shield and WiFi shield are 2 different things?
Of course they are.
The Arduino store sells Ethernet shields that are pretty good. They sell WiFi shields that are not.
If only one device can be communicated at a time, and I have the Ethernet shield mount on the Arduino, does that mean I cannot have a website running at the same time as a camera module?
Suppose that you have two phones. Can you talk to someone on each phone AT THE SAME TIME? Not well. You can talk to someone on one phone, then ask them to hang on for a second, and talk to someone else on the other phone.
If the Arduino is acting as a server, when a client connects, the client gets (or should get) priority and the complete client request should be handled before resuming whatever (usually nothing) the Arduino was doing before it discovered that there was a client request to deal with.
I have no idea what you are planning to do with the camera module, so I can't comment on whether you can successfully use it while acting as a server (wearing an ethernet shield).
My application hopes to provide real time monitoring, and would require the camera module to take picture and send to the website for user to see remotely.
Should have read ahead, I guess. While it IS possible to send picture data to a client, it will be VERY slow.
Remember internet connections in the days of 1200 baud dial up modems? The Arduino isn't that fast.
It means each device that requires SPI connection to pins 50, 51 and 52 can ALL be connected to those pins at the same time.
Correct.
But each device will need another digital pin of the Arduino mega to be use as a chip select pin for the respective devices, and it needs to be set high on that chip select pin if you want the Arduino to communicate with a particular device(With the other devices not selected). Am i right to say that?
I don't remember whether HIGH or LOW selects the device being communicated with, and most libraries take care of enabling the device they need to talk to (assuming that you have disabled all the others) and then disabling it when done. But, that is substantially correct.
how do I let the Arduino know a particular digital pin is change to be a chip select pin for the device?
The Arduino doesn't need to know that a pin is being used as a chip select pin. There is nothing magic about a chip select pin. Its nothing more, or less, than an output pin,