Do SLI or CrossFire always improve performance ?
Not Always , there are some games that dont take advantage of SLI or CrossFire , so you wont see a difference between 2 cards and 1 card in those games , but in games that take advantage of SLI or CrossFire , 2 cards will perform better than one.
Is it really necessary to use SLI or CrossFire ?
Well , it really depends mostly on the resolutions and games you play , resolutions like 1920x1200 and higher benefit more from SLI or CrossFire than resolutions like 1600x1200 or lower (I dont mean SLI or CrossFire wont be good for resolutions like 1600x1200 or lower , i am just saying that SLI or CrossFire shines in higher resolutions.)
Also as i said , it depends on what games (with what settings) you play , for example if you just want to play games at good settings (with not everything at maximum settings) then MultiGPU technology isn't needed , but if you want to play with every option at maximum settings, then SLI would help , but again i repeat , resolution is very important.
Caution: Due to some problems (like Drivers and etc) in some games, a single card (like X1900XT) may beat 2 1900XT in CrossFire mode! so dont always think that 2 cards will beat one card.
Should i get 2 midrange cards instead of one high-end card ?
No, again i will answer this with example. 2 8600GT or single 8800gts ? this on of the most common questions in forums. single 8800GTS (320 or 640) will beat 2 8600GT in games , because a single 8800GTS has more stream processors , more memory clock , more bandwidth. so again 1 single high-end card will beat 2 midrange cards.