using uint has no benefit. The GPU doesn't know uint/int and all values have to be uploaded as 32 bit float unless we're talking about vertex indicies etc. (I know that's different in CUDA etc. but we don't have another choice).
Regarding your question about the shape, the answer is easy. The particle system is an all-rounder. I think you're referring to articles claiming that this reduces upload time, which is a good thing and they are right. But unless you can certainly say that this is great for your use case, it has more downgrades. Of course it would be perfect for triangles, good for hexagons and (depending on the rendering size) for circles, but any other use case would become a problem. That's because of the massive amount of useless/transparent pixels. On one hand these pixels have to be added to your textures and waist a lot of space in your texture atlas, and on the other hand they have to be rendered unless you are using the kil instruction in your shader, which has it's own disadvantages.
So that said, GPU stuff is all about balancing and in my humble experience triangles haven't been a good choice for most cases. As far as I can tell, it's regularly the fragment shader which is the most time consuming.