The reason why businesses do this is because it maximizes their revenue. In other words, they can make more money if they do that. This is true for two reasons.
At slow times of day, businesses will often want to reduce their prices. They feel that demand at these times of day is elastic. They feel that if they lower their prices, more people will come to buy whatever they are selling. Thus, it is worth their while to lower prices at those times of day.
At busy times of day, businesses will often increase their prices. They feel that demand at these times of day is inelastic. This is a time of day when many people will want to buy from them even if the price is high. Therefore, they do not need to lower their prices in order to attract customers. Instead, they raise prices because they know that people will come anyway.
In order to do this properly, firms have to have a good grip on how their customers will respond to price changes at different times of day.