Many tasks that humans do from day to day are taken for granted in term of appreciating their true complexity. Humans are the only species on the planet that have developed such an in-depth means of auditory communication. Recreating the mechanisms in the brain that recognize speech patterns is no easy task. This paper compares and contrasts various algorithms used in modern day ASR systems, and focuses primarily on ASR systems in resource constrained environments. The Green colored blocks in Figure 1 will be focused on in greater detail throughout this paper, they are the key to building an exceptional ASR system. Deep Neural Networks (DNNs) are the clear and current leader among ASR technologies; all research in this field is currently revolving around this method. Although DNNs are very effective, many older methods of ASR are used often due to the complexities involved with DNNs; these difficulties include the large amount of hardware resources as well as development resources, such as engineers and money, required for this method.