University of Chicago students lined up in height order
As it's name suggesting, sorting algorithms rearrange the items in a collection in a given order. Often this order is numerical, either ascending or descending, or lexicographical, but there are many options beyond that, depending on the use the sorted collection will be put to. Items to be sorted can be any kind of object with at least one rankable attribute - database records, people, colors, house numbers, etc. The item being sorted may have more than one value in it, e.g. it could be a tuple, but the value that is used to sort in these cases is known as the key. Some tasks may even require more than one sort, such as ordering a deck of cards first by number and then by suit. In this case, those two attributes are the primary and secondary keys, depending on which is tended to first.
The same values may be ranked differently by different sorting algorithms, e.g. colors could be ranked alphabetically, or by preference, but the order of the separate values should not change if the same sorting algorithm is applied multiple times. Otherwise it would be a shuffle rather than a sort. However, values with equal rank may or may not remain in the same order upon consecutive sorts. This is knows as the stability of the algorithm. An stable sort will preserve the original order of equal-rank items each time it is run so their order will not change, while they are considered interchangeable in a non-stable sort.
Many basic sorting algorithms, such as the first 3 mentioned above and bubblesort, see widespread use as introductory material in classes teaching computer programming due to their universality and easily demonstrable nature. Sorting in general is of huge use to programmers as it allows not only a more efficient traversal of data for applications, but is much easier for humans to understand should they need to examine or analyse the data by hand as well.