A (properly built) linear feedback shift register of N bits has an internal state that steps through the values 1 to (2^N-1).
Sometimes LFSRs are used to drive RAM addresses in high-speed data collection, because LFSRs are simpler and can be clocked much faster than counters that use grayscale or natural binary codes. Like these other kinds of counters, a particular LFSR always counts through every value in its range exactly once before repeating. It repeats the same sequence of values every time.
LFSRs are used in the GPS satellite transmitters and in CDMA cell phones (both use "direct spread-spectrum communication"). The GPS satellites all transmit at the same time and the same frequency.
LFSRs are used in "spread-spectrum clocking" and PCI Express and a few other physical layer protocols. Without the LFSRs, those protocols would transmit data just as well, but interfere with radio and televisions at one fixed frequency.
I believe a LFSR(code implementation) is sometimes used as a PseudoRandomNumberGenerator by programmers
They are; however their statistical properties are such that they are unsuitable for many applications. For quick and dirty, though, they work fine.
no number in the sequence repeats until the whole sequence repeats
This is a very common property of different kinds of pseudo-random number generators, not just LFSR, and yes, often (not always) desirable.
Plus if you make the register much bigger than the numbers you're extracting, you can get repeat numbers out of it.