Lambda Architecture: Batch and streaming in parallel. Batch provides accuracy. Streaming provides speed. Merge results in serving layer.
Problem: You maintain two codebases doing similar work.
Kappa Architecture: Streaming only. Reprocess by replaying from Kafka. Simpler but requires good replay infrastructure.
Modern reality: Most teams use pragmatic hybrids. Streaming for real-time needs, batch for everything else. Medallion architecture in lakehouses (bronze, silver, gold) is a popular pattern.
Don't over-engineer. Choose based on actual latency requirements, not theoretical ideals.