overflow:hidden; มันเป็นการซ่อนส่วนที่เกินจากกรอบไม่ให้แสดงผลอะ มันดูเหมือนกันก็จริง แต่ลองเอา <div> ไปต่อจากตัว image อีกสักแถวสิ ไอ้ตัวหลังสุดเนี่ยมันจะลอย ไปอยู่ข้างๆ รูป หรือ <div> ตัวล่าสุด มันจะไปเบียดแย่งที่ รูป
แต่ถ้าไม่มี <div> ต่อจาก image อีกก็ปล่อยไปเถอะ
เรื่องของ float ที่มันเบียดแย่งที่กัน
มันจะเป็นไปตามตัวอย่างนี้ ที่คุณ พร อันทะ เขียนไว้
http://thaicss.com/lessons/clear1.html
บทความเต็มๆ อ่านที่นี่เลย ละเอียดยิบ
http://thaicss.com/clear-fix-ทำไม-และ-ทำไมต้อง-clearfix/
ปล. อ้าว คุณพร อันทะ เปลี่ยนระบบเว็บมาเป็น WP แล้ว