There's no difference in meaning and no concrete rules. There used to be rules, but now it's just personal preference and convention based on the word that comes before them. [Source] | [Source]
Edit: Some native speakers say ぐらい feels more colloquial, but it's hard to say anything definitive without a much larger sample size. I'd need to go read some articles for that.
You might think words like 時間 go with ぐらい, but that's simply not the case. Here's a native example: 2時間くらいだと思ってたら4時間経ってた!
PS: I don't think it's worth going into any more detail as it requires intermediate/advanced knowledge.