Yes. Of course, I was talking about main stats - the substats have more possibilities, you can have a speed sub-stat on almost any gear piece (not on rings which only allow attack/defense/HP, but on everything else I think), but main stat only on boots.
Percentage bonuses, whether from set bonuses or from stats on gear items, are applied to the champion's base stat. They do always stack with each other. So if for instance you have 30% attack bonus from a stat and 15% from an offense set, then you'll get a total of 30 + 15 = 45% extra attack, calculated from the champion's base attack. Also for e.g. the Cruel set that you mention, if you wear several of them, both their attack bonus and their ignore defense bonus stack.
As for attack and ignore def stacking with each other - well, they're two separate calculations, but both are applied, yes. One determines how high your attack is, the other determines how low the opponent's defense is (e.g. if you have 2 Cruel sets, 10 percent of the opponent's defense is subtracted for each of your hits). The calculation of how much damage you do, taking into account your own attack and the opponent's defense, is much more complicated and I don't know the details. Depending on the circumstances, certain stats or effects may be more important than others. E.g. against an opponent who already has very low defense, the ignore defense will have very little effect. Or if you have a champion who can put Bomb debuffs, the damage that the bomb will do is determined entirely by your champion's Attack stat, with neither your critical damage nor the enemy's defense rating making any difference.
Generally speaking, for most champions, the best way to increase the amount of damage they do is to give them a high crit rate, ideally 100 percent if you can reach it, and then push their critical damage as high as you can. Increasing attack also helps, of course, but usually less than increasing critical damage. But there are exceptions, like those Bomb champions I mentioned.