We once had 1 hour long standups. The reasons were:
1) large team
2) many devs loved to go into detail about their work, and no one stopped them
3) the expectation was that a standup must be about describing what you did yesterday, in detail
What we did:
1) split the team into subteams where each team has their own standup (down to 5-15 min)
2) the standup's facilitator now stops devs from going into too much detail, "you guys can discuss it further after the standup"
3) now the expectation is that a standup should be about checking the project status and if there are any blockers, and that's it, you don't have to recount your whole yesterday in great detail