Batch processing involves processing large batches of data together, and has higher latency measured in minutes or hours. Stream processing processes continuous data in real-time with lower latency measured in milliseconds or seconds. The key differences are that batch processing handles large batches of data while stream processing handles individual records or micro-batches, and batch processing has higher latency while stream processing has lower latency.