It depends on the materialized view. The following query from the oracle data dictionary will give you a list of all your (the oracle user's) materialized views and how fast refreshable they are.
SELECT MVIEW_NAME, FAST_REFRESHABLE FROM USER_MVIEWS;
The FAST_REFRESHABLE column will give you one of the following values:
NO: The materialized view is not fast refreshable, and hence is complex.
DIRLOAD: Fast refresh is supported only for direct loads.
DML: Fast refresh is supported only for DML operations.
DIRLOAD_DML: Fast refresh is supported for both direct loads and DML operations.
DIRLOAD_LIMITEDDML: Fast refresh is supported for direct loads and a subset of DML operations.
The ones that have given me problems in the past have been DIRLOAD_LIMITEDDML. I have usually gotten those if there is a COUNT, MAX, etc... in the MVIEW query. Usually these refresh on inserts and deletes but not on updates.