We introduce braids via their historical roots and uses, make connections with knot theory and present the mathematical theory of braids through the braid group. Several basic mathematical properties of braids are explored and equivalence problems under several conditions defined and partly solved. The connection with knots is spelled out in detail and translation methods are presented. Finally a number of applications of braid theory are given. The presentation is pedagogical and principally aimed at interested readers from different fields of mathematics and natural science. The discussions are as self-contained as can be expected within the space limits and require very little previous mathematical knowledge. Literature references are given throughout to the original papers and to overview sources where more can be learned.