As of the time of writing, the following applies, for the Corruption. The Crimson has similar mechanics, although the specific blocks are different:
In Normal Mode:
- Corrupt grass can spread in a manner similar to normal grass, converting adjacent Dirt tiles with at least one side open to air (only in the Surface Layer).
- This is because grass only spreads on the surface.
- Corrupt grass can also displace normal and hallow grass, unless the grass has a Sunflower planted on it.
- Note that Hallow grass doesn't appear naturally on a newly-generated world. You can create it using Hallowed Seeds, Holy Water or the Blue Solution (for use with the Clentaminator), imported from a Hardmode world.
- Corrupt grass may sprout Thorny Bushes, which can spread corrupt grass according to the same rules.
- Thorny Bushes grow in all directions (not just upwards, although they have to start by growing up), and may spread. The maximum range for the Bushes seem to be around 6 blocks from the Corrupt grass block that initially spawned the bush.
- In addition to corrupt grass, thorns and plants, Ebonstone, Ebonsand, Purple Ice and Red Stucco also generate corruption.
- Grass can still be converted to corrupt grass, and corrupt grass can cover new dirt as in regular mode.
- Mud can now be converted into dirt. Jungle grass can also be converted into corrupt grass (changing the underlying block type to dirt).
- Thus Jungle biomes will eventually be partially converted to Corruption.
- Stone can be converted to Ebonstone.
- Sand can be converted to Ebonsand.
- Ice can be converted to Purple Ice.
- Sunflowers no longer block the corruption, and will be uprooted if the grass they are planted in is corrupted. (Sunflowers now block corruption in hardmode as 1.2)
- Corrupt grass is still limited to the Surface Layer, but Ebonstone and Ebonsand can spread through any depth.
- Corruptible blocks that are up to three squares away from an existing corrupt block can be converted (even if uncorruptible blocks are in the way).
- Silt can be converted (to Ebonsand) as part of the initial burst when you first defeat the Wall of Flesh, but not at other times.
Background walls aren't affected by the Corruption, except when as part of the initial burst when you defeat the Wall of Flesh.
Preventing The Corruption from spreading can be done by planting sunflowers in a sufficient amount or, in alternative, to build small barriers (or forts) of non-corruptible material on both sides of The Corruption. This can only be easily done in Normal Mode.
Preventing the spread in Hardmode is near impossible, due to the amount of corrupted blocks and the increased speed of spreading. The recommended approaches are to create a contained Normal zone (where your base is) before or immediately after the world enters in Hardmode.1
Answering the questions placed:
Ebonstone will create an artificial Corruption biome, assuming that on the screen are at least 200 blocks. It will not spread on Normal Mode. It will spread as soon as you pass into Hardmode. Not only that, but Hardmode Corruption spawns the Corruptor that has a projectile attack that spread Corruption, until version 1.2, where that effect was removed.
Corruption spreads through Thorny Bushes (although the rules behind it aren't well documented). As far as I can tell, at Normal, it needs to contact the dirt blocks (same as grass). At Hardmode it stands to reason that it still spreads as before, but it's unclear whether it can now spread to rock, due to the 3-tile rule. In practice it doesn't matter, as the spread is faster than the growth of the bushes.
Thorny Bushes grow in the following fashion: They spawn from a block of corrupted grass. This block needs to have air above it. From that block, they can spread to a distance of at most 6 blocks from that point in all directions. They spread it the same way a real bush does (i.e. by spawning a bush block in one of the 8 directions a current bush piece has). If no wall is behind them, they will try to spread orthogonally, otherwise, they can spread to the corner directions.
- Note that a Thorny Bush can spread Corrupted grass, and that enables more bushes to spawn.
Disclaimer: Most (if not all) of the information here can be obtained in the official wiki and also at some extent at the unofficial wiki. The information is there, except split across several pages. The only information not available in the wikis is the information about the Thorny Bush, that I've verified visually with old saves.
1 - It is possible to completely contain everything, by building 3-tile wide walls across the entire map in a grid pattern. It is, however, a complete waste of resources and patience and time. I know because I've tried to do it.