Can particles be different objects/shapes?
Yes, they can. And yes, it is. ;-)

One way is to render a group of objects, rather than just one object.

If you create a group, you can assign that group in the particle settings of your emitter. By default, it will randomly choose one item from the group each time it creates a particle. But there are some other settings where you have a little control over how it chooses.

To create a group, select several objects and use the shortcut CTRLG. That will group the selected objects together. That group will have a name that you can use in the render section of the particle settings on the emitter (shown below).