I'll try to keep it simple.
Albert knows the month, while Bernard knows the day. If Bernard had got the number 18 or 19, then he can easily guess that the month is June or May respectively. But, Albert is certain that Bernard doesn't know. Meaning the birthday is not in June or May.
So somewhere in July or August. After Bernard realizes that Albert doesn't know the date either, he finds out Cheryl's birthday. Meaning that the day he was given is not 14 (if it had been then it could have been in either remaining months).
Through this the dates we are left with are July 16, August 15 and August 17. Note how there is only one for June and two for August.
After Bernard's affirmation that he knows Cheryl's birthday, Albert realizes her birth date too. This means that he must have been told the month July; if he was told August then he would have two dates to think about which would make him unsure.
That leaves us with only one date, which is July 16.