This paper provides a survey of various methods of graph labeling, focusing on graceful and harmonious labelings. Graceful labeling assigns distinct edge labels based on the absolute difference of vertex labels, while harmonious labeling assigns distinct edge labels based on the sum of vertex labels modulo the number of edges. These labelings have been studied extensively over the past three decades, with over 300 papers published. The paper discusses the properties of these labelings, their applications, and the results related to various types of graphs, including trees, cycles, complete graphs, and other related structures. It also addresses the conditions under which graphs can be gracefully or harmoniously labeled, and the challenges in proving these properties for certain classes of graphs. The paper concludes with a summary of the current state of knowledge and open problems in the field of graph labeling.This paper provides a survey of various methods of graph labeling, focusing on graceful and harmonious labelings. Graceful labeling assigns distinct edge labels based on the absolute difference of vertex labels, while harmonious labeling assigns distinct edge labels based on the sum of vertex labels modulo the number of edges. These labelings have been studied extensively over the past three decades, with over 300 papers published. The paper discusses the properties of these labelings, their applications, and the results related to various types of graphs, including trees, cycles, complete graphs, and other related structures. It also addresses the conditions under which graphs can be gracefully or harmoniously labeled, and the challenges in proving these properties for certain classes of graphs. The paper concludes with a summary of the current state of knowledge and open problems in the field of graph labeling.