I've checked but still don't understand the difference. For example, I have boxes that output 576i, 720p, 1080i and 1080p. What does scaling do and what does EDID do? Is it better to have a scaler in the matrix?
A matrix routes audio and video from a source to any display(s). A scaler scales the Video resolution from the source to whatever you need it to be. With that being said, most displays scale all standard resolutions to the displays native resolution. You should only need a matrix. Look at your displays manual for all resolutions it accepts. If you need to send it a resolution that it does not accept, that's when you need a scaler.
Edid is the protocol that sources and displays use to determine what the source is capable of displaying/decoding. The source asks the display 'hey, what resolution and audio streams are you capable of decoding?' The display answers and the source chooses the proper audio and video streams to send.