What Causes Slave Failure?
A few of the more likely causes of replication failure are mentioned here.
Modifying Data on the Slave
If the slave was running previously but has stopped, the reason usually is that some statement that succeeded on the master failed on the slave. This should never happen if you have taken a proper snapshot of the master, and never modified the data on the slave outside of the slave thread.
https://dev.mysql.com/doc/refman/5.5/en/replication-problems.html
Known Limitations
If the slave stops unexpectedly, it is a bug or you have encountered one of the known replication limitations described in Section 17.4.1, “Replication Features and Issues”. https://dev.mysql.com/doc/refman/5.5/en/replication-features.html
Server DB Settings
max_allowed_packet
If you are replicating large column values (such as might be found in TEXT or BLOB columns) and max_allowed_packet is too small on the master, the master fails with an error, and the slave shuts down the I/O thread. If max_allowed_packet is too small on the slave, this also causes the slave to stop the I/O thread.
Hard Drive Space for Logs
If you run out of room on the drive for the binary log files that are used by the replication process - this can break the replication.