Balancing Domain Decomposition by Constraints (BDDC) methods have proven to be powerful preconditioners for large and sparse linear systems arising from the finite element discretization of elliptic PDEs. Condition number bounds can be theoretically established that are independent of the number of subdomains of the decomposition. The core of the methods resides in the design of a larger and partially discontinuous finite element space that allows for fast application of the preconditioner, where Cholesky factorizations of the subdomain finite element problems are additively combined with a coarse, global solver. Multilevel and highly-scalable algorithms can be obtained by replacing the coarse Cholesky solver with a coarse BDDC preconditioner. BDDC methods have the remarkable ability to control the condition number, since the coarse space of the preconditioner can be adaptively enriched at the cost of solving local eigenproblems. The proper identification of these eigenproblems extends the robustness of the methods to any heterogeneity in the distribution of the coefficients of the PDEs, not only when the coefficients jumps align with the subdomain boundaries or when the high contrast regions are confined to lie in the interior of the subdomains. The specific adaptive technique considered in this paper does not depend upon any interaction of discretization and partition; it relies purely on algebraic operations. Coarse space adaptation in BDDC methods has attractive algorithmic properties, since the technique enhances the concurrency and the arithmetic intensity of the preconditioning step of the sparse implicit solver with the aim of controlling the number of iterations of the Krylov method in a black-box fashion, thus reducing the number of global synchronization steps and matrix vector multiplications needed by the iterative solver; data movement and memory bound kernels in the solve phase can be thus limited at the expense of extra local ops during the setup of the preconditioner. This paper presents an exposition of the BDDC algorithm that identifies the current computational bottlenecks that could prevent it from being competitive with other solvers, and proposes solutions in anticipation of exascale architectures. Furthermore, the discussion aims to give interested practitioners sufficient insights to decide whether or not to pursue BDDC in their applications. In addition, the work presents novel numerical results using the distributed memory implementation of BDDC in the PETSc library for vector field problems arising in the context of porous media ows and electromagnetic modeling; the results provide evidence of the robustness of these methods for highly heterogenous problems and non-conforming discretizations. © 2016 ACM.