Constrained Coding and Soft Iterative Decoding is the first work to combine the issues of constrained coding and soft iterative decoding (e.g., turbo and LDPC codes) from a unified point of view. Since constrained coding is widely used in magnetic and optical storage, it is necessary to use some special techniques (modified concatenation scheme or bit insertion) in order to apply soft iterative decoding. Recent breakthroughs in the design and decoding of error-control codes (ECCs) show significant potential for improving the performance of many communications systems. ECCs such as turbo codes and low-density parity check (LDPC) codes can be represented by graphs and decoded by passing probabilistic (a.k.a. `soft') messages along the edges of the graph. This message-passing algorithm yields powerful decoders whose performance can approach the theoretical limits on capacity. This exposition uses `normal graphs,' introduced by Forney, which extend in a natural manner to block diagram representations of the system and provide a simple unified framework for the decoding of ECCs, constrained codes, and channels with memory. Soft iterative decoding is illustrated by the application of turbo codes and LDPC codes to magnetic recording channels. For magnetic and optical storage, an issue arises in the use of constrained coding, which places restrictions on the sequences that can be transmitted through the channel; the use of constrained coding in combination with soft ECC decoders is addressed by the modified concatenation scheme also known as `reverse concatenation.' Moreover, a soft constraint decoder yields additional coding gain from the redundancy in the constraint, which may be of practical interest in the case of optical storage. In addition, this monograph presents several other research results (including the design of sliding-block lossless compression codes, and the decoding of array codes as LDPC codes). Constrained Coding and Soft Iterative Decoding will prove useful to students, researchers and professional engineers who are interested in understanding this new soft iterative decoding paradigm and applying it in communications and storage systems.