In this dissertation, we focus on the sufficient conditions to guarantee one graph being the subgraph of another. In Chapter 2, we discuss list packing, a modification of the idea of graph packing. This is fitting one graph in the complement of another graph. Sauer and Spencer showed a sufficient bound involving maximum degrees, and this was further explored by Kaul and Kostochka to characterize all extremal cases. Bollobas and Eldridge (and independently Sauer and Spencer) developed edge sum bounds to guarantee packing.In Chapter 2, we introduce the new idea of list packing and use it to prove stronger versions of many existing theorems. Namely, for two graphs, if the product of the maximum degrees is small or if the total number of edges is small, then the graphs pack.In Chapter 3, we discuss the problem of finding k vertex-disjoint cycles in a multigraph. This problem originated from a conjecture of Erdos and has led to many different results. Corradi and Hajnal looked at a minimum degree condition. Enomoto and Wang independently looked at a minimum degree-sum condition. More recently, Kierstead, Kostochka, and Yeager characterized the extremal cases to improve these bounds. In Chapter 3, we improve on the multigraph degree-sum result. We characterize all multigraphs that have simple Ore-degree at least 4k -3 , but do not contain k vertex-disjoint cycles. Moreover, we provide a polynomial time algorithm for deciding if a graph contains k vertex-disjoint cycles.Lastly, in Chapter 4, we consider the same problem but with chorded cycles. Finkel looked at the minimum degree condition while Chiba, Fujita, Gao, and Li addressed the degree-sum condition. More recently, Molla, Santana, and Yeager improved this degree-sum result, and in Chapter 4, we will improve on this further.