Thinking LSTMs solve ALL long-range dependencies: LSTMs significantly extend the effective range compared to vanilla RNNs (from ~10 steps to ~100-500 steps), but they still struggle with very long sequences (thousands of tokens). This is why transformers, with their direct attention connections between any two positions, eventually replaced LSTMs for most NLP tasks.
Not using bidirectional RNNs when appropriate: For tasks where you have the full sequence available (not real-time generation), a bidirectional LSTM processes the sequence both forward and backward, allowing each position to see context from both directions. Machine translation, sentiment analysis, and named entity recognition all benefit from bidirectionality.
Confusing hidden state with cell state: The hidden state h_t is the output of the LSTM at each step -- it is what downstream layers see. The cell state C_t is the internal memory -- it carries long-range information but is not directly visible outside the LSTM. When extracting features from an LSTM, use the hidden states, not the cell states.