Silly question, but if you want to add more RAM to an existing array, what has to be the same about the new RAM as the existing? Pins, speed, and type I imagine, but can it be a different make, model, or manufacturer as long as it has the same timings and stuff? Will that work out OK?
The most important thing is the type (DDR vs. DDR2 vs. DDR3) and voltage. If you get the wrong type, not only will not not work, it won't even fit in the socket.
It's also a good idea to buy memory of the same speed (ie, DDR2-667 vs DDR2-800) and timings (ie, CL5-5-5-15). Buying faster speed / shorter timings that your existing memory is a waste because the system will set itself to work with your existing memory and it's slower speed / longer timings. Conversely, buying slower speed / longer timings that your existing memory will mean the system will run slower than the existing modules are capable of.
Many people who overclock try to get "matched pairs" to minimize the "waste" of a lower-performing module dragging down a higher-performing one, but it isn't really necessary in terms of whether the system will work or not. As long as the speed and timing specs are the same then for most intents and purposes you'll get the performance you're paying for.
Excellent review Sminlal - that is why you are a veteran on here with over 7,000 points - I really have found with trial and error, as you stated, using the same "matched pairs" including name brand will get the better bottom line results. Brands of memory do vary in make up even with the same speed, timing, and voltage - with this said, the difference in brand results could be very small.