Much of my own reply has been discussed, but I hope I provide a slightly different viewpoint.
Science is always looking for truth and constantly tests previous "truths" when new information comes along. This is a never ending process, as our experiences and discoveries add new information that should always be tested against previous norms.
To answer the OP, science can never explain everything. Always looking for new information and if even one bit of information contradicts those previous, then theories change until the next set of data.
Science is always the sceptic looking to challenge current knowledge, while religion has many times discarded new information that contradicts doctrine or adapted to justify the original answer. I consider both pyramids:
Science as the typical pyramid with a wide base of knowledge trying to find the truth at the top, however, it's unfinished, as there is never a single point at the peak with constant challenges and looking for new information.
Religion is an inverted pyramid that has an "answer", but is forced to expand their reach as new information is provided in order to "funnel" it all to the previous answer.
To borrow from calculus, a limit may be defined (1/3 + 1/3 + 1/3 = 1, but 0.3 repeating + 0.3 repeating + 0.3 repeating = 0.9 repeating), but it never technically reaches the conclusion. To me, this is science. We can get to that 0.9 repeating, where most will say it's 1, but there is always still that small chance that we have to keep testing.
Will our minds ever be able to comprehend what happens when science and religion merge? To me, that may be the real question.