With the new site, IPB, a thread is marked read when either you actually open it and read it through the final page, or you mark the forum read, or you mark the the entire community as read.
Otherwise, each thread stays in bold and shows as unread, until you actually read the thread.
This is different from the old site, vBulletin.
For me personally, this is perfect, because I now can visit for a few minutes here and there, and always have the exact same unread status for a thread until I read it, and it stays in sync also across platforms as I jump from PC to PC to iPhone to iPad. All perfectly in sync, and a thread is never marked read until I actually read it or I mark the forum as read. It's also smart enough to know if I've not read all the pages in a thread.
vBulletin can also function the exact same way, I visit other sites that work this way, but DBSTalk used the vBulletin cookie option for saving unread status instead of storing the unread status in the database. I believe this was a performance issue with the old site, whereas IPB has a different architecture and can store the unread status in the database with performance that can be tolerated by DBSTalk management, which for me is wonderful. Gone are the days of needing to read the entire list of subscribed threads in one visit or risk losing all unread status from session to session.