It is shown that multistage generalized minimum-distance (GMD) decoding of Euclidean-space codes and lattices can provide an excellent tradeoff between performance and complexity, We introduce a reliability metric for Gaussian channels that is easily computed from an inner product, and prove that a multistage GMD decoder using this metric is a bounded-distance decoder up to the true packing radius, The effective error coefficient of multistage GMD decoding is determined, Two simple modifications in the GMD decoding algorithm that drastically reduce this error coefficient are proposed, It is shown that with these modifications GMD decoding achieves the error coefficient of maximum-likelihood decoding for block codes and for generalized Construction A lattices. Multistage GMD decoding of the lattices D-4, E(8), K-12, BW16, and Lambda(24) is investigated in detail, For K-12, BW16, and Lambda(24), the GMD decoders have considerably lower complexity than the best known maximum-likelihood or bounded-distance decoding algorithms, and appear to be the most practically attractive decoders available, For high-dimensional codes and lattices (greater than or equal to 64 dimensions) maximum-likelihood decoding becomes infeasible, while GMD decoding algorithms remain quite practical, As an example, we devise a multistage GMD decoder for a 128-dimensional sphere packing with a nominal coding gain of 8.98 dB that attains an effective error coefficient of 1 365 760. This decoder requires only about 400 real operations, in addition to algebraic errors-and-erasures decoding of certain BCH and Hamming codes, It therefore appears to be practically feasible to implement algebraic multistage GMD decoders for high-dimensional sphere packings, and thus achieve high effective coding gains.