I don't work in the field, but I did a little reading about the theory last year. (I can't say anything about how any of this is applied---I have been wondering for a while whether it does anything beyond giving really nice looking diagrams!)

The basic input is a filtered simplicial complex. There are many ways to do this, but at least in what I read there are two main ones that come from point clouds: the Čech and the Rips complexes. Both are, roughly, from taking n-tuples of points that are mutually within some distance of each other to form the simplices. The filtration is indexed by the epsilons.

(From what I remember, the Čech complex is better behaved in terms of convergence properties, but the Rips complex is apparently easier to compute with. That said, they sit between each other in the filtration. There are some papers on detecting holes in sensor networks that make use of this fact, using the Rips complexes to infer the existence of a relative 2-cycle to prove a sensor network is hole-free.)

Since homology groups are functorial, the filtration gives induced maps on all the corresponding homology groups. Given a homological generator for a particular epsilon, one can then push it forward for increasing epsilons, seeing how long it persists, until, potentially, it is eventually in the kernel and dies. Conversely, any particular homological generator might be in the image from a previous epsilon, and there is some value of epsilon at which the generator is born, in the sense that it is not the image of a generator from a previous epsilon.

A barcode (maybe also persistence diagram but I'm not sure) is the collection of intervals representing all the homological generators for all values of epsilon, where an interval represents the persistence of that generator. Somehow practitioners make judgments about how long a generator persists to learn about topological features about a given data set.

It seems most of the time the homology computations are done with field coefficients. This, in particular, implies the homology groups themselves are vector spaces, and thus by knowing the rank you know the group. So, the barcode is a perfect representation of all the homology groups.

In a way I do not comprehend, what is "really" going on is that, since the point cloud has only finitely many points, the filtration has only finitely many discrete steps, so there is an associated spectral sequence that relates all the homology groups to each other. I think this might give a finer-grained barcode, where births and deaths sometimes come from events in higher and lower dimensions.

In the off-chance you already have a complex, there is another kind of filtration to try, which is from the sublevel sets. Persistent homology techniques apply, and I have heard of symplectic geometers using it to prove things about symplectomorphisms, where the sublevel sets come from a symplectic flow.

As an example of sublevel set persistent homology---and a point about what "birth" and "death" really mean---imagine two circles moving toward each other then merging. Each step of this event corresponds to a level set for a pair of pants. At the beginning, with two circles, there are two H_0 generators, one per circle, and two H_1 generators, one per circle. At the exact point the two circles merge, then there is a single H_0 generator but still two H_1 generators. Just after the merge, there is a single H_0 generator and a single H_1 generator for the resulting circle. The two generators of H_0 and H_1 "merged" in a sense. For H_0, it is arbitrary which of the two generators is the one that persisted and which was the one that died at the merge event. For H_1, it is somewhat strange: it is the sum of the two obvious generators that persists for all time, and either of them can be taken as the other interval in the barcode, which then dies at the merge event.

This illustrates that the actual generators in a barcode diagram are somewhat arbitrary. It seems to be only as arbitrary as bases for a vector space might be (though sometimes finding the "right" basis is key to understanding a pattern!)