Basically BRAMs are a fixed size. For xilinx thats 18kbits (in configurations 1bit x16k, 2x8k, 4x4k, 8/9 x 2k, 16/18 x 1k and 36x512). If you use it in a format ouside of these setups, you are being inefficient. Eg, you had a 8bit word over 512 address locations (9 bit address). only 25% of the ram would be used, and 75% wasted. The synth tools can be clever and combine inferred memories together if it sees you have two "rams" using the same address. But yes, you need a basic understanding of memory architecture to avoid these losses.
LUTRAM is much smaller, so is more flexible.
RAM can be used for large shift registers, but not if you need internal taps. But in your example it seems far too small to need RAMs.