Size doesn't really matter since you can mix a 256mb stick with a 512mb and so on, but different maufacturers make their RAM to different specs, and some motherboards require memory to go in a certain order, such as largest stick on first slot. The total RAM can only run as fast as the slowest component, so if you have 512mb PC2700 (333mhz) right now and add a 512mb PC2100 (266) mhz, you will actually see a performance decrease since the whole 1gig will be running at 266mhz.
As for the other specs, pay attention to CAS latencies There will be a rating like 2.5-3-3 and CAS latency is the first number. Lower is better for all 3 numbers. Most DDR is 2.5 or 3, and if you buy the high performance stuff, it will be as low as 2. CAS latencies work in the same manner as above, so you go with a different brand, but make sure you match the latencies or you might end up with a slight decrease in some areas, but the decrease will be very small ( < 1% most likely) for every .5 difference.
In conclusion, go with the same brand if you can. If not, get as close to what you already have as possible. I use a 256mb PC2100 stick from Crucial and one from Mushkin in my desktop and they work fine together, but some generic brands might not be so friendly.