Gene expression
The purpose of gene expression is to synthesise a functional gene product (protein or functional RNA); that the process can be regulated and is used by all known life.
These products are mainly proteins, but in non-protein coding genes such as transfer RNA (tRNA) genes, the product would be functional RNA.
Why do we need gene expression?
Every one of your somatic cells contains the same genetic information. A liver cell has exactly the same genetic information as a skin cell. However, these two cells clearly have two very different functions and carry out different biochemical activities. They are able to do this because cells do not express all of their genes at the same time.
Any genes that code for necessary proteins are always active/switched on, whereas genes that code for non-required proteins (for that cell) are inactive/switched off. In each cell, there are housekeeping genes that are continually switched on to maintain normal function.
When genes are switched on, DNA is loosened from histones, exposing the genetic code to RNA polymerase to enable transcription to take place. This can occur due to acetylation of histones.
When genes are switched off, DNA is tightly coiled around histones. RNA polymerase is unable to initiate transcription. This occurs due to methylation, which (in short) causes the DNA to become attracted to the histones.