First of all, a notice about people who are keen to research on this. Most web sites and forums have posts with fake information, stating that some of items stack, but those are posts done by people who are not aware about these issues. Please make sure that the source you are referring to contains valid information. In most web sites, the user comments say that some items stack, but if you were keen to read all the comments, most probably down the line you will encounter someone who is well aware about these issues will comment that it is not.
I am not going to talk about stacking Orb Effect items here because I discussed about orb effects in the previous post. You may refer to this post for information regarding orb effects.
Ok, lets begin with Evasion. For your information, Evasion does not stack at all. Yes, that means if you have two butterfly's, it won't give you 60% evasion. It will give you only 30% evasion. But it will increase your ASPD by another 60%. And this includes hero skills such as Blur (Mortred, which gives you 28% evasion at level 4) and other items such as Radiance, which gives you 15% evasion. The rule is, the item / skill with highest evasion will override others. So if you make a Butterfly for Mortred, don't expect to have 58% percent evasion. You will simply have 30% given by the Butterfly.
So other than the increased attack speed of 60% (30% + 30 Agility), + 30 damage (by +30 primary), butterfly will only give Mortred 2% additional evasion, for 6250 gold. For that amount, there are better items to make for her. Also, instead of making double butterfly, consider spending that 6250 gold on something which will give you more value.
If you feel I am wrong, check out the official DotA-All Stars website discussion about this matter.
However, skills that act similar to Evasion will stack diminishingly. For example, Backtrack of Faceless Void will stack with Evasion from Butterfly or Radiance. Because Backtrack is NOT evasion, it will take place along side with evasion, if evasion fails to miss a certain hit. I will explain about diminishing returns later in this post.
Ok, now lets consider LifeSteal. Orb effect based LifeSteal items will not stack, considering the rule of "Orb Effects Do Not Stack". However LifeSteal Aura's will stack with Orb based LifeSteal items. For example, Vladmir's Offering will stack with another LifeSteal item such as Helm of Dominator. Same goes for aura based life steal skills such as Vampiric Aura of Skeliton King, and Feast of N'aix.
Cleaving attack, by items such as Battlefury and some passive hero skills (Tidehunter's Anchor Smash, Magnus....), stacks directly with another item / skill etc. So having two Battlefury's will result in 70% cleaving attack.
Melee Damage Return, provided by Blaid Mail stacks with each other directly. So having multiple Blaid Mails will allow the attacker to get more damage returned.
Critical attack, given by items such as Crystallis, Buriza-do Kyanon will not stack with each other or with passive skills of heroes such as Mortred and Yunero. If you build this item for those heroes , you will see multiple critical numbers in screen when you hit a double critical, but only the damage from the last critical will take place. However, the chances of triggering a critical attack will stack diminishingly. For more information, refer to this post.
Magic Damage Resistance, provided by Planeswalkers Cloak, Hood of Defiance and passive skills of certain heroes like Magina, will stack diminishingly but on the basis of acquirement. For example, if you level up the Magina's skill first and then buy a cloak or a HoD, it will not stack. In order to have the item and skill to stack, you need to buy the item first and then level up the skill (I think this is one place where DotA bugs became a feature :P). Also you have to note that every hero has a 25% Magic Damage resistence by default. You will need to take it also into account when you are calculating the total magic damage resistance. However, having two HoDs or mixing HoD with a cloak will not stack.
Bash, given by the Cranium Basher and some passive skills of heroes such as Faceless Void, Troll Warlord, Barathroom will stack with each other diminishingly.
Ok, not its time to find out what the heck is diminishing return.
Calculating Diminishing Returns
Diminishing return is calculated by the following formula.
1 - ( 1 - A ) * ( 1 - B ) * ( 1 - C ) .... ( 1 - X )
Where A, B, C are the percentages of chances.
Let's consider an example. Think of a Faceless Void, with Level 4 Time Lock (25% chance to Bash) with a Cranium Basher (15% chance to bash).
We can calculate the total chance of scoring a bash like this:
So this means there's a 36.5% chance to score a bash.
If Void gets another Cranium Basher (L4 Time Lock + 2x Bashers):
So this means there's a 45.8% chance to score a bash.
Let's consider another example. Consider a Magina, who has acquired a Hood of Defiance, and properly upgraded his Spell Resistance to Level 4 (See section on Magic Damage Reduction to find out about proper way to upgrade Spell Resistance with HoD).
His total percentage of Magic Damage Reduction is : 25% Natural Hero Reduction + 30% from Hood of Defiance and 40% from his skill.
Total = 1 - (1 - 0.25) * (1 - 0.30) * (1-0.40) = 0.685
That is, he has 68.5% Magic Damage Reduction. Now if a Lion hits him with his L3 Ultimate (850 Damage), he will take only 267.75 damage, which will be further reduced by Armor.
Ok, I think this post about "stacking" helped you to clear out some myths about DotA. I recommend reading following articles:
How the Stack / Non-Stack item works?
The HitchHikers Guide to DotA