If DNA is more or less the same in all cells, and DNA is used to produce proteins from aminoacids, then do all cells produce the same proteins or are they specialised/controlled by something?
Each cell will indeed have the same DNA sequences and ability to produce any given protein. However, there are certain factors (transcription factors) and cellular conditions within a cell that dictate which proteins are produced. If the conditions are right then only certain proteins will be produced depending on what type of cell it is. This process by which a cell continues to express selected proteins and becomes specialized for a specific function, is called differentiation. Expression of proteins that are not required can be prevented by transcriptional repressors (or by epigenetic mechanisms such as methylation of DNA sequences). So to answer your question, while cells contain the instructions (DNA sequences) to produce potentially any protein, not every type of protein will always be produced.
Keep in mind that my answer is very basic; the answer isn't as simplistic as I'm making it out to be.
Protein expression in cells is majorly governed by a concept called RNA splicing. This also forms the basis of different types of cells which has different proteins expressed at different levels, but from the same nuclear material: DNA, which can be visually seen here. Differential splicing leads to various isoforms of the mRNAs, which are precursors of protein expression in cell. So, based on how the splicing occurs in different types of cells, different proteins are expressed at different levels, which constitute to the different phenotypes. This is just a brief introduction to these concepts following the previous comments, but I thought it would be a good time to mention these as these are pertinent.
I am new to this site, so may be not giving the best and most comprehensice answers, but I hope this is useful.