Why wouldn't I be able to find his death record
You have, of course, checked all the possible spelling variants, and you have checked every William S who died in Scotland in 1857 (because ages are not shown in the index at SP).
I see from the 1851 census that the only William Stuart of the right age in the parish of Drainie is a 19-year-old fisherman with parents John and Janet, several siblings and a visiting Margaret Edward, 18. Is your one listed as a fisherman on his son's birth certificate?
It is possible that William died while away fishing somewhere away from home. The herring boats tended to follow the herring as they migrated up and down the coast, and William could have met with an accident almost anywhere on the east coast of Scotland or England. There are four deaths of William S in England in the second (June) quarter of 1857, one each in Fareham, Liverpool, Hull and Penrith, and again ages are not listed. English death certificates don't list the parents of the deceased, and I am unsure whether they give the name of the deceased's spouse in 1857, so you would need to rely on the date of death to be sure you had the right one.
I believe that in England you are allowed to ask the Registrar a question before actually having to pay for the certificate. You could try contacting the relevant Registrars and saying, "I am looking for the death certificate of William Stewart or Stuart who died on 25 June 1857 aged 26. Is the one who died in xxxx in the June quarter of 1857 the one I want?" If they reply that he is not, then you can save the cost of buying the wrong certificate.
and marriage and birth?
The short answer is because these events were either not recorded, or if they were the record has not survived. There could be any number of reasons for this
I note from the index at SP that only two of the children of John S and Janet Crockett are listed, Janet b 1821 and Isabel b 1823. These match the family listed at Lossiemouth in the 1841 census consisting of John, 38, fisher; Janet Crockett, 40; Janet, 20; Isabella, 18; John, 15; Jane, 13; William, 10; James, 7; Ann, 6: Alexander, 3; Hellen, 1. The family in Lossiemouth in 1851 consisting of John, 49; Janet, 49; Jane, 22; William, 19; James, 17; Alexander, 12 and Charles, 7 matches the younger children in 1841, so I think it's reasonable to conclude that William who married Ann Edwards is the son of John S and Janet Crockett.
However it is clear from this that John S and Janet Crockett that only the first two of ten children are in the parish register. If it had been just one or two missing, it could have been that the clerk forgot to make the record, but when it's almost a complete family, one has to conclude either that the parents omitted to have them baptised (unlikely) or had them baptised but omitted to have the event recorded. This could be because they belonged to a religious denomination other than the Church of Scotland. (Not, of course, the Free Church of Scotland, which was set up in 1843.)
However as far as I am aware all the likely non-C of S registers in the area have been filmed for the Elgin Local Heritage Centre, and indexed on LIBINDX. So barring a lost register turning up somewhere, I think you may just have to accept that there is no surviving record of the birth or baptism of your William S or at least seven of his siblings.
Similarly with the marriage, which probably took place just before the start of civil registration on 1 January 1855.
The previous generation should be easier. Janet Crockett died in 1900, and LIBINDX gives her parents as William Crockett, fisherman, and Janet Young. It doesn't give a date of death for John S, but as he is in the 1861 census, you should be able to find both death certificates to confirm their parents' names.